The mithril-client library uses the reqwest crate. By default, reqwest uses OpenSSL for TLS support in HTTPS requests. This causes any consumer of the library to have a dynamic dependency on a system OpenSSL library.
reqwest has a number of options for fulfilling tls functionality. This patch just exposes that, using the same feature flags that reqwest uses.
Pre-submit checklist
Branch
[x] Tests are provided (if possible)
[x] Crates versions are updated (if relevant)
[x] CHANGELOG file is updated (if relevant)
[x] Commit sequence broadly makes sense
[x] Key commits have useful messages
PR
[x] No clippy warnings in the CI
[x] Self-reviewed the diff
[x] Useful pull request description
[x] Reviewer requested
Documentation
[x] Update README file (if relevant)
[ ] Update documentation website (if relevant)
[ ] Add dev blog post (if relevant)
Comments
This PR came about because our project requires static linking of dependent libraries, and this was not possible when using the mithril-client crate.
Content
The
mithril-client
library uses thereqwest
crate. By default,reqwest
usesOpenSSL
for TLS support in HTTPS requests. This causes any consumer of the library to have a dynamic dependency on a system OpenSSL library.reqwest
has a number of options for fulfillingtls
functionality. This patch just exposes that, using the same feature flags thatreqwest
uses.Pre-submit checklist
Comments
This PR came about because our project requires static linking of dependent libraries, and this was not possible when using the
mithril-client
crate.Issue(s)
Closes #1737