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