| import os, sys |
| from base64 import decodebytes |
| |
| from wptserve.utils import isomorphic_decode |
| import importlib |
| subresource = importlib.import_module("common.security-features.subresource.subresource") |
| |
| |
| def generate_payload(request, server_data): |
| data = (u'{"headers": %(headers)s}') % server_data |
| if b"id" in request.GET: |
| request.server.stash.put(request.GET[b"id"], data) |
| # Simple base64 encoded .tff font |
| return decodebytes(b"AAEAAAANAIAAAwBQRkZUTU6u6MkAAAXcAAAAHE9TLzJWYW" |
| b"QKAAABWAAAAFZjbWFwAA8D7wAAAcAAAAFCY3Z0IAAhAnkA" |
| b"AAMEAAAABGdhc3D//wADAAAF1AAAAAhnbHlmCC6aTwAAAx" |
| b"QAAACMaGVhZO8ooBcAAADcAAAANmhoZWEIkAV9AAABFAAA" |
| b"ACRobXR4EZQAhQAAAbAAAAAQbG9jYQBwAFQAAAMIAAAACm" |
| b"1heHAASQA9AAABOAAAACBuYW1lehAVOgAAA6AAAAIHcG9z" |
| b"dP+uADUAAAWoAAAAKgABAAAAAQAAMhPyuV8PPPUACwPoAA" |
| b"AAAMU4Lm0AAAAAxTgubQAh/5wFeAK8AAAACAACAAAAAAAA" |
| b"AAEAAAK8/5wAWgXcAAAAAAV4AAEAAAAAAAAAAAAAAAAAAA" |
| b"AEAAEAAAAEAAwAAwAAAAAAAgAAAAEAAQAAAEAALgAAAAAA" |
| b"AQXcAfQABQAAAooCvAAAAIwCigK8AAAB4AAxAQIAAAIABg" |
| b"kAAAAAAAAAAAABAAAAAAAAAAAAAAAAUGZFZABAAEEAQQMg" |
| b"/zgAWgK8AGQAAAABAAAAAAAABdwAIQAAAAAF3AAABdwAZA" |
| b"AAAAMAAAADAAAAHAABAAAAAAA8AAMAAQAAABwABAAgAAAA" |
| b"BAAEAAEAAABB//8AAABB////wgABAAAAAAAAAQYAAAEAAA" |
| b"AAAAAAAQIAAAACAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAA" |
| b"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAA" |
| b"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" |
| b"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" |
| b"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" |
| b"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" |
| b"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" |
| b"AAAAAAAAAAAAAAAAAAAhAnkAAAAqACoAKgBGAAAAAgAhAA" |
| b"ABKgKaAAMABwAusQEALzyyBwQA7TKxBgXcPLIDAgDtMgCx" |
| b"AwAvPLIFBADtMrIHBgH8PLIBAgDtMjMRIREnMxEjIQEJ6M" |
| b"fHApr9ZiECWAAAAwBk/5wFeAK8AAMABwALAAABNSEVATUh" |
| b"FQE1IRUB9AH0/UQDhPu0BRQB9MjI/tTIyP7UyMgAAAAAAA" |
| b"4ArgABAAAAAAAAACYATgABAAAAAAABAAUAgQABAAAAAAAC" |
| b"AAYAlQABAAAAAAADACEA4AABAAAAAAAEAAUBDgABAAAAAA" |
| b"AFABABNgABAAAAAAAGAAUBUwADAAEECQAAAEwAAAADAAEE" |
| b"CQABAAoAdQADAAEECQACAAwAhwADAAEECQADAEIAnAADAA" |
| b"EECQAEAAoBAgADAAEECQAFACABFAADAAEECQAGAAoBRwBD" |
| b"AG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADAAOA" |
| b"AgAE0AbwB6AGkAbABsAGEAIABDAG8AcgBwAG8AcgBhAHQA" |
| b"aQBvAG4AAENvcHlyaWdodCAoYykgMjAwOCBNb3ppbGxhIE" |
| b"NvcnBvcmF0aW9uAABNAGEAcgBrAEEAAE1hcmtBAABNAGUA" |
| b"ZABpAHUAbQAATWVkaXVtAABGAG8AbgB0AEYAbwByAGcAZQ" |
| b"AgADIALgAwACAAOgAgAE0AYQByAGsAQQAgADoAIAA1AC0A" |
| b"MQAxAC0AMgAwADAAOAAARm9udEZvcmdlIDIuMCA6IE1hcm" |
| b"tBIDogNS0xMS0yMDA4AABNAGEAcgBrAEEAAE1hcmtBAABW" |
| b"AGUAcgBzAGkAbwBuACAAMAAwADEALgAwADAAMAAgAABWZX" |
| b"JzaW9uIDAwMS4wMDAgAABNAGEAcgBrAEEAAE1hcmtBAAAA" |
| b"AgAAAAAAAP+DADIAAAABAAAAAAAAAAAAAAAAAAAAAAAEAA" |
| b"AAAQACACQAAAAAAAH//wACAAAAAQAAAADEPovuAAAAAMU4" |
| b"Lm0AAAAAxTgubQ==") |
| |
| def generate_report_headers_payload(request, server_data): |
| stashed_data = request.server.stash.take(request.GET[b"id"]) |
| return stashed_data |
| |
| def main(request, response): |
| handler = lambda data: generate_payload(request, data) |
| content_type = b'application/x-font-truetype' |
| |
| if b"report-headers" in request.GET: |
| handler = lambda data: generate_report_headers_payload(request, data) |
| content_type = b'application/json' |
| |
| subresource.respond(request, |
| response, |
| payload_generator = handler, |
| content_type = content_type, |
| access_control_allow_origin = b"*") |