Failing to capture X-Apigee.client.connection received from client

Hi @Dino I am trying to capture the X-Apigee.client.connection header value request received from client but even after using the extract variable policy and java script it was not showing in proxy request flow and not able to extract and store it so need immediate assistance in getting this issue resolved.

Hi @rammohan1,

Anything that matches the header name pattern x-apigee.* is treated as a system header. These headers are injected by the ingress controller and are stripped before the proxy flow starts, i.e. before any policies (ExtractVariables, JavaScript, etc.) are executed. This is intentional. System headers are not meant to be accessed directly.

That’s why you can’t see or extract X-Apigee.client.connection in the request flow no matter what you try.

But, for your convenience, Apigee exposes the values from X-Apigee.client.connection via flow variables under the client.* namespace. Those variables are populated internally from that header at runtime.

Full reference is here: https://docs.apigee.com/api-platform/reference/variables-reference#client (I believe you use Edge).

Hi @nmarkevich

Yes I am using apigee edge I am able to extract the client.cn thank you…

I have an another query like in apigee edge I am trying to enable mtls at proxy level with variables as mentioned below but while deploying revision i am receiving errors as invalid host reference..host reference is good because I am using the same virtual host for another proxy.

QASecure

dev-qa.api.smart.com

443

 <Enabled>true</Enabled>        <ClientAuthEnabled>true</ClientAuthEnabled> <KeyAlias>dev-qa.api.smart.com</KeyAlias> <KeyStore>ref://dev-qa.api.smart.com</KeyStore> <TrustStore>ref://2way-truststore-qa</TrustStore>

true true