Skip to content

feat: Use feature flag to allow rustls-no-provider with reqwest#162

Open
SanchayanMaity wants to merge 1 commit into
deepgram:mainfrom
SanchayanMaity:reqwest-rustls-no-provider
Open

feat: Use feature flag to allow rustls-no-provider with reqwest#162
SanchayanMaity wants to merge 1 commit into
deepgram:mainfrom
SanchayanMaity:reqwest-rustls-no-provider

Conversation

@SanchayanMaity

Copy link
Copy Markdown

This allows applications or other users of the crate to not bring aws-lc-rs as a dependency due to cargo feature unification and let a user of the crate install a crypto provider manually for use by reqwest.

See https://docs.rs/rustls/latest/rustls/#cryptography-providers for details.

When opting into reqwest/rustls-no-provider, application must install a crypto provider. For example, rustls::crypto::ring::default_provider().install_default().

Proposed changes

Types of changes

  • Bugfix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update or tests (if none of the other choices apply)

Checklist

  • I have read the CONTRIBUTING.md doc
  • I have added tests and/or examples that prove my fix is effective or that my feature works
  • I have added necessary documentation (if appropriate)

Further comments

This allows applications or other users of the crate to not bring
aws-lc-rs as a dependency due to cargo feature unification and let
a user of the crate install a crypto provider manually for use by
reqwest.

See https://docs.rs/rustls/latest/rustls/#cryptography-providers for details.

When opting into reqwest/rustls-no-provider, application must install
a crypto provider. For example, rustls::crypto::ring::default_provider().install_default().
@SanchayanMaity

SanchayanMaity commented Jul 8, 2026

Copy link
Copy Markdown
Author

For some more context on this change,

We use the deepgram SDK in GStreamer for transcribing. We have avoided pulling in aws-lc-rs as a dependency for various reasons. Because of feature unification in cargo, a dependency enabling aws-lc-rs (reqwest feature flag rustls in this case here) results in it becoming part of the dependency chain.

reqwest already allows control over this and so do other crates like quinn. The current change should not affect any downstream users while allowing other users leeway in opting for a different crypto provider.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant