#3119·rustls

Dynamically set ECH configuration

Author: Oakchris1955Created Jul 4, 2026Updated Jul 6, 2026

Checklist

  • I've searched the issue tracker for similar requests

Is your feature request related to a problem? Please describe. While it is possible to enable ECH with the ConfigBuilder::with_ech method, once a ClientConfig has been constructed, that configuration cannot be changed. I have opened an issue over at seanmonstar/reqwest#3035 and this inability of dynamically providing an ECH configuration (dynamically as in with a ClientConfig struct) is currently preventing us from supporting ECH, since in reqwest, a HTTP Client may be used for connections to URLs with different domains.

Describe the solution you'd like Publicly expose the ech_mode field of the ClientConfig struct (may not be possible due to ECH requiring a TLS version of 1.3 or newer and this might conflict with any previously-defined configuration)

Describe alternatives you've considered Create a new method for ClientConfig that sets the ech_mode private field of the struct, raising an error if the ClientConfig uses an unsupported TLS version (< 1.3).

Additional context Related reqwest issue: seanmonstar/reqwest#3035