Skip to content

[Choreo-Connect-1.2.0] Headers sent by the backend converted to lowercase when going through Choreo-connect #3621

@DaniduWijendra

Description

@DaniduWijendra

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions