OpenAPITools / OpenAPITools/openapi-generator
[REQ] option to disable protocol upgrade for Apache client
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 26.8k
- Forks
- 7.7k
- PR merge metrics
- PR metrics pending
Description
Is your feature request related to a problem? Please describe.
Recent versions of Apache httpclient default to trying to upgrade TLS. This is incompatible with certain middleware such as envoy/istio as documented at https://github.com/istio/istio/issues/53239
The suggested workaround is to disable that behaviour in the client by using setProtocolUpgradeEnabled
Describe the solution you'd like
Add support for setting this on the client for all requests. Note that the method only exists on recent versions so will have to be graceful (do nothing if the client version is below 5.4)
Describe alternatives you've considered
- use a non Apache client
- force the Apache version to remain outdated, but this can conflict with other deps
Additional context
As per the attached issue, this will start to become a more prevalent issue as spring etc update their dependency version, resulting in mysterious errors in run time whenever envoy is used. Providing an option around it is the best path forward.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the Apache client request setup and the use of setProtocolUpgradeEnabled, then check how Apache HttpClient versions below 5.4 are handled. Done means an option controls this behavior for all requests while older client versions remain unaffected.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- api
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100