ubus: support GET method with CORS requests
authorRafał Miłecki <rafal@milecki.pl>
Mon, 21 Sep 2020 14:16:23 +0000 (16:16 +0200)
committerRafał Miłecki <rafal@milecki.pl>
Wed, 23 Sep 2020 06:17:32 +0000 (08:17 +0200)
commitc186212a3075766717cab396a46242f110ee71bd
tree59a27dd7fb15e0680b9e1f1002934b0457d3cfdb
parent47c34bd6ad49cae408b8d7c150c6f9f324aaddf5
ubus: support GET method with CORS requests

Complex GET requests (e.g. those with custom headers) require browsers
to send preflight OPTIONS request with:
Access-Control-Request-Method: GET

It's important to reply to such requests with the header
Access-Control-Allow-Origin (and optionally others) to allow CORS
requests.

Adding GET to the Access-Control-Allow-Methods is cosmetical as
according to the Fetch standard:

> If request’s method is not in methods, request’s method is not a
> CORS-safelisted method, and request’s credentials mode is "include" or
> methods does not contain `*`, then return a network error.

It basically means that Access-Control-Allow-Methods value is ignored
for GET, HEAD and POST methods.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
ubus.c