inspect-headers.py (1210B)
1 def main(request, response): 2 headers = [] 3 if b"headers" in request.GET: 4 checked_headers = request.GET.first(b"headers").split(b"|") 5 for header in checked_headers: 6 if header in request.headers: 7 headers.append((b"x-request-" + header, request.headers.get(header, b""))) 8 9 if b"cors" in request.GET: 10 if b"Origin" in request.headers: 11 headers.append((b"Access-Control-Allow-Origin", request.headers.get(b"Origin", b""))) 12 else: 13 headers.append((b"Access-Control-Allow-Origin", b"*")) 14 headers.append((b"Access-Control-Allow-Credentials", b"true")) 15 headers.append((b"Access-Control-Allow-Methods", b"GET, POST, HEAD")) 16 exposed_headers = [b"x-request-" + header for header in checked_headers] 17 headers.append((b"Access-Control-Expose-Headers", b", ".join(exposed_headers))) 18 if b"allow_headers" in request.GET: 19 headers.append((b"Access-Control-Allow-Headers", request.GET[b'allow_headers'])) 20 else: 21 headers.append((b"Access-Control-Allow-Headers", b", ".join(request.headers))) 22 23 headers.append((b"content-type", b"text/plain")) 24 return headers, b""