EmbeddableWebServer icon indicating copy to clipboard operation
EmbeddableWebServer copied to clipboard

CORS triggered when used locally.

Open jshanab opened this issue 5 years ago • 1 comments

I think I need to add a "Access-Control-Allow-Origin: *" header to my response. I could not see how to add headers.

When I tried it here: struct Response* responseAllocWithFile(const char* filename, const char* MIMETypeOrNULL) { struct Response* response = responseAlloc(200, "OK", MIMETypeOrNULL, 0); response->extraHeaders = strdup("Access-Control-Allow-Origin: *"); response->filenameToSend = strdup(filename); return response; }

I broke an already working (in browser with security disabled) json file response.

I really do not understand CORS that much and why when I have a server, the origins do not match. Maybe its a windows thing.

jshanab avatar Jul 09 '20 12:07 jshanab

Hello, Thanks for writing in. It looks like I made it so that response->extraHeaders has to contain its own \r\n at the end of each header. This is not documented nor easy to discover. For this case try adding a \r\n like this:

response->extraHeaders = strdup("Access-Control-Allow-Origin: *\r\n");

I also have not much of a clue about CORS.

I'll leave issue open for better documentation, and maybe some better functions around mutating the response.

hellerf avatar Jul 12 '20 01:07 hellerf