echo-content-cors.py (1107B)
1 def main(request, response): 2 headers = [(b"X-Request-Method", request.method), 3 (b"X-Request-Content-Length", request.headers.get(b"Content-Length", b"NO")), 4 (b"X-Request-Content-Type", request.headers.get(b"Content-Type", b"NO")), 5 (b"Access-Control-Allow-Credentials", b"true"), 6 # Avoid any kind of content sniffing on the response. 7 (b"Content-Type", b"text/plain")] 8 9 origin = request.GET.first(b"origin", request.headers.get(b"origin")) 10 if origin != None: 11 headers.append((b"Access-Control-Allow-Origin", origin)) 12 13 request_headers = request.GET.first(b"origin", request.headers.get(b"access-control-request-headers")) 14 if request_headers != None: 15 headers.append((b"Access-Control-Allow-Headers", request_headers)) 16 17 request_method = request.GET.first(b"origin", request.headers.get(b"access-control-request-method")) 18 if request_method != None: 19 headers.append((b"Access-Control-Allow-Methods", b"OPTIONS, " + request_method)) 20 21 content = request.body 22 23 return headers, content