I have a netlify function that needs to be exposed to applications running on different domains.
https://cryptomint.one/.netlify/functions/sendGift
The method returns the following response headers to allow cross domain access
'Content-Type': 'application/json',
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Headers': 'Content-Type',
'Access-Control-Allow-Methods': 'GET, HEAD, PUT, POST, OPTIONS, DELETE',
When invoked as a GET the endpoint returns an HTTP 405 response which is precisely what I would expect as the code dictates.
if (httpMethod !== 'POST') {
return { statusCode: 405, body: "Method Not Allowed" };
}
This endpoint is a POST. When invoked as a POST with a pay load I see the dreaded CORS error.
However when invoked as a POST with no payload the method succeeds. Well it responds with an HTTP 400 as it expects a payload, but no CORS error and that response is again function code dictated.
I have not the faintest idea what the issue could be here nor what form a resolution could take. I have tried implementing a PUT however the results are the same.
The payload is too large to use path parameters.