Problem
When sending a header including capital letters (Ex: Abc) the header sent from the backend is converted to lowercase (abc) when passing through Choreo-connect. We identified that this is happening to all the headers. All the headers going through the Choreo-connect will be converted to the lowercase.
Reproducing Steps
- Created a mock backend to pass a header such as "Abc".
- Deploy Choreo-connect-1.2.0 with API Manager-4.2.0 by following this documentation.[1]
- Deploy a sample API with this endpoint as the backend.
- Invoke the backend directly and via Choreo-connect.
[1] https://apim.docs.wso2.com/en/4.2.0/deploy-and-publish/deploy-on-gateway/choreo-connect/getting-started/quick-start-guide-docker-with-apim/
Solution
It seems this issue is the default behavior of the Chore-connect because the router uses the envoy-proxy as the core component.[1] As per this[2] documentation, by default envoy-proxy converts the headers to lowercase. However, as per the envoy-proxy documentation, we could configure the proxy to not convert all the headers as well.
[1] https://apim.docs.wso2.com/en/4.2.0/deploy-and-publish/deploy-on-gateway/choreo-connect/getting-started/choreo-connect-overview/#router
[2] - https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_conn_man/header_casing
Implementation
No response
Related Issues
No response
Suggested Labels
1.2.0
Problem
When sending a header including capital letters (Ex: Abc) the header sent from the backend is converted to lowercase (abc) when passing through Choreo-connect. We identified that this is happening to all the headers. All the headers going through the Choreo-connect will be converted to the lowercase.
Reproducing Steps
[1] https://apim.docs.wso2.com/en/4.2.0/deploy-and-publish/deploy-on-gateway/choreo-connect/getting-started/quick-start-guide-docker-with-apim/
Solution
It seems this issue is the default behavior of the Chore-connect because the router uses the envoy-proxy as the core component.[1] As per this[2] documentation, by default envoy-proxy converts the headers to lowercase. However, as per the envoy-proxy documentation, we could configure the proxy to not convert all the headers as well.
[1] https://apim.docs.wso2.com/en/4.2.0/deploy-and-publish/deploy-on-gateway/choreo-connect/getting-started/choreo-connect-overview/#router
[2] - https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_conn_man/header_casing
Implementation
No response
Related Issues
No response
Suggested Labels
1.2.0