cacheable-and-validated.py (1251B)
1 def main(request, response): 2 # Headers need to be set before `response.writer` writes out the response. 3 tao = request.GET.get(b'timing_allow_origin') 4 if tao: 5 response.headers.set(b"Timing-Allow-Origin", tao) 6 7 if b'origin' in request.headers: 8 origin = request.headers[b'origin'] 9 response.headers.set(b'Access-Control-Allow-Origin', origin) 10 11 content = request.GET.first(b'content') 12 response.headers.set(b'Cache-Control', b'max-age=60') 13 response.headers.set(b'ETag', b'assdfsdfe') 14 15 # Handle CORS-preflights of non-simple requests. 16 if request.method == 'OPTIONS': 17 response.status = 204 18 requested_method = request.headers.get(b"Access-Control-Request-Method") 19 if requested_method: 20 response.headers.set(b"Access-Control-Allow-Methods", requested_method) 21 requested_headers = request.headers.get(b"Access-Control-Request-Headers") 22 if requested_headers: 23 response.headers.set(b"Access-Control-Allow-Headers", requested_headers) 24 else: 25 if 'Cache-Control' in request.headers: 26 response.status = (304, b'NotModified') 27 else: 28 response.status = (200, b'OK') 29 response.write_status_headers() 30 response.writer.write(content)