Fastly caching PUT calls

Hi, I have a Node-Express backend domain configured in Fastly delivery service as in when an incoming request is received, it is routed to my node backend. However, there seems to be an issue with PUT requests being changed to GET requests by the Fastly deliver service. As a result, my node backend throws an error because the API route for the GET request is not found.

Example:

Browser request to Fastly delivery service: PUT https://abctest.com/api/node/12344

Fastly delivery service to my Node.js server: GET https://abctest.com/api/node/12344

Hi @patlurishivani

I’m not aware of any default behaviour in Deliver services for switching a PUT to a GET (that sounds very non-standard/unconventional), and I’m also not able to replicate using Fastly Fiddle (in the following Fiddle we can see the Deliver service accepts the request as a PUT and processes the PUT without any type of change to a GET):

https://fiddle.fastly.dev/fiddle/1b7f847a

I’m guessing there must be some custom VCL that’s making this change (and seemingly by accident as I’m not sure in what scenario changing a PUT to a GET would be necessary/wanted).

I would recommend reaching out to support@fastly.com with your Customer ID and Service ID and point them to this discussion so they can investigate further.

Thanks.