generate-report-once.py (1116B)
1 def main(request, response): 2 # Handle CORS preflight requests 3 if request.method == u'OPTIONS': 4 # Always reject preflights for one subdomain 5 if b"www2" in request.headers[b"Origin"]: 6 return (400, [], u"CORS preflight rejected for www2") 7 return [ 8 (b"Content-Type", b"text/plain"), 9 (b"Access-Control-Allow-Origin", b"*"), 10 (b"Access-Control-Allow-Methods", b"get"), 11 (b"Access-Control-Allow-Headers", b"Content-Type"), 12 ], u"CORS allowed" 13 14 if b"reportID" in request.GET: 15 key = request.GET.first(b"reportID") 16 else: 17 response.status = 400 18 return "reportID parameter is required." 19 20 with request.server.stash.lock: 21 visited = request.server.stash.take(key=key) 22 if visited is None: 23 response.headers.set("Reporting-Endpoints", 24 b"default=\"/reporting/resources/report.py?reportID=%s\"" % key) 25 request.server.stash.put(key=key, value=True) 26 27 response.content = b""" 28 <!DOCTYPE HTML> 29 <meta charset=utf-8> 30 <title>Generate deprecation report</title> 31 <script> 32 webkitRequestAnimationFrame(() => {}); 33 </script> 34 """