Why response of No Route Proxy contains all request headers?

hello,

I'm developing a proxy for Openid, so we have no route, but i noticed that the response contains all the request headers, why? Should I force the cleaning?

Thanks

Solved Solved
0 2 144
1 ACCEPTED SOLUTION

By default, Apigee loopback proxies copy the request to the response. 

So if you don't have a target, then ... you need to explicitly set the Response to what you want it to be. That includes the payload and headers.

In my loopback proxies, I have a policy like this: 

<AssignMessage name='AM-Clean-Request-Headers-From-Response'>
  <Remove>
    <Headers>
      <Header name='Host'/>
      <Header name='Accept'/>
      <Header name='Authorization'/>
      <Header name='user-agent'/>
      <Header name='X-Request-id'/>
      <Header name='x-client-data'/>
      <Header name='x-cloud-trace-context'/>
      <Header name='X-Powered-By'/>
      <Header name='X-b3-traceid'/>
      <Header name='X-b3-spanid'/>
      <Header name='X-b3-sampled'/>
      <Header name='X-Forwarded-For'/>
      <Header name='X-Forwarded-Port'/>
      <Header name='X-Forwarded-Proto'/>
    </Headers>
  </Remove>
</AssignMessage>

Or you could delete ALL request headers from the response like this: 

<AssignMessage name='AM-Clean-Request-Headers-From-Response'>
  <Remove>
    <Headers/>
  </Remove>
</AssignMessage>

View solution in original post

2 REPLIES 2

By default, Apigee loopback proxies copy the request to the response. 

So if you don't have a target, then ... you need to explicitly set the Response to what you want it to be. That includes the payload and headers.

In my loopback proxies, I have a policy like this: 

<AssignMessage name='AM-Clean-Request-Headers-From-Response'>
  <Remove>
    <Headers>
      <Header name='Host'/>
      <Header name='Accept'/>
      <Header name='Authorization'/>
      <Header name='user-agent'/>
      <Header name='X-Request-id'/>
      <Header name='x-client-data'/>
      <Header name='x-cloud-trace-context'/>
      <Header name='X-Powered-By'/>
      <Header name='X-b3-traceid'/>
      <Header name='X-b3-spanid'/>
      <Header name='X-b3-sampled'/>
      <Header name='X-Forwarded-For'/>
      <Header name='X-Forwarded-Port'/>
      <Header name='X-Forwarded-Proto'/>
    </Headers>
  </Remove>
</AssignMessage>

Or you could delete ALL request headers from the response like this: 

<AssignMessage name='AM-Clean-Request-Headers-From-Response'>
  <Remove>
    <Headers/>
  </Remove>
</AssignMessage>

Hello Dino, thanks! I assumed it was this but I could not find information about it