access-control-allow-lists.py (907B)
1 import json 2 3 from wptserve.utils import isomorphic_decode 4 5 def main(request, response): 6 if b"origin" in request.GET: 7 response.headers.set(b"Access-Control-Allow-Origin", request.GET[b"origin"]) 8 elif b"origins" in request.GET: 9 for origin in request.GET[b"origins"].split(b','): 10 response.headers.set(b"Access-Control-Allow-Origin", request.GET[b"origin"]) 11 12 if b"headers" in request.GET: 13 response.headers.set(b"Access-Control-Allow-Headers", request.GET[b"headers"]) 14 if b"methods" in request.GET: 15 response.headers.set(b"Access-Control-Allow-Methods", request.GET[b"methods"]) 16 17 headers = dict(request.headers) 18 19 for header in headers: 20 headers[header] = headers[header][0] 21 22 str_headers = {} 23 for key, val in headers.items(): 24 str_headers[isomorphic_decode(key)] = isomorphic_decode(val) 25 26 return json.dumps(str_headers)