Request sent as POST appears as GET on API Gateway

Not applicable

I am running into a weird problem.

I have a proxy with a base url and two conditional flows. The conditions are based on just the verb POST and GET. When i submit a request from say Postman as POST the request comes in into the edge gateway as a GET and hence gets routed to the wrong conditional flow. I can see that the POST is now a GET in the trace.

I thought that this is an issue with Postman and tried using CURL as well as SOAP UI. In all cases the request shows up as GET in the trace.

Workaround: When i use https instead of http the POST requests come in as POST. This happens only when consumer sends a request over http.

0 5 604
5 REPLIES 5

@Shree Rangan , That's very weird. Is it on Cloud / on-premises ? If it's on cloud, what's your org name ? You can send org name to me using Ask An Expert button on right sidebar.

Not applicable

This is a managed cloud @Anil Sagar

Unfortunately, i would not be able to share details of the org or env. Is there anything that i could check or confirm?

Thanks.

Trace is the best bet, Is it an issue with all proxies / specific proxy ? Can you create a sample proxy & try same ?

Hi,

Sorry for the delayed response. Yes, this happens with all proxies. I tried creating a sample proxy and am able to replicate. However, https requests works fine.

Sounds strange that using different Virtual Hosts would relate to this behaviour. Please raise an Apigee Support ticket for investigation.

EDIT:

Also - please triple check that you are using the correct variable in your condition. You should be using request.verb