Skip to content

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

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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