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
Reactions are currently unavailable
Checklist
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