OLD | NEW |
1 import os, sys, json, urlparse, urllib | 1 import os, sys, json, urlparse, urllib |
2 | 2 |
3 def get_template(template_basename): | 3 def get_template(template_basename): |
4 script_directory = os.path.dirname(os.path.abspath(__file__)) | 4 script_directory = os.path.dirname(os.path.abspath(__file__)) |
5 template_directory = os.path.abspath(os.path.join(script_directory, | 5 template_directory = os.path.abspath(os.path.join(script_directory, |
6 "..", | 6 "..", |
7 "template")) | 7 "template")) |
8 template_filename = os.path.join(template_directory, template_basename); | 8 template_filename = os.path.join(template_directory, template_basename); |
9 | 9 |
10 with open(template_filename, "r") as f: | 10 with open(template_filename, "r") as f: |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
65 def __noop(request, response): | 65 def __noop(request, response): |
66 return "" | 66 return "" |
67 | 67 |
68 | 68 |
69 def respond(request, | 69 def respond(request, |
70 response, | 70 response, |
71 status_code = 200, | 71 status_code = 200, |
72 content_type = "text/html", | 72 content_type = "text/html", |
73 payload_generator = __noop, | 73 payload_generator = __noop, |
74 cache_control = "no-cache; must-revalidate", | 74 cache_control = "no-cache; must-revalidate", |
75 access_control_allow_origin = "*"): | 75 access_control_allow_origin = "*", |
| 76 maybe_additional_headers = None): |
76 if preprocess_redirection(request, response): | 77 if preprocess_redirection(request, response): |
77 return | 78 return |
78 | 79 |
79 response.add_required_headers = False | 80 response.add_required_headers = False |
80 response.writer.write_status(status_code) | 81 response.writer.write_status(status_code) |
81 | 82 |
82 if access_control_allow_origin != None: | 83 if access_control_allow_origin != None: |
83 response.writer.write_header("access-control-allow-origin", | 84 response.writer.write_header("access-control-allow-origin", |
84 access_control_allow_origin) | 85 access_control_allow_origin) |
85 response.writer.write_header("content-type", content_type) | 86 response.writer.write_header("content-type", content_type) |
86 response.writer.write_header("cache-control", cache_control) | 87 response.writer.write_header("cache-control", cache_control) |
| 88 |
| 89 additional_headers = maybe_additional_headers or {} |
| 90 for header, value in additional_headers.items(): |
| 91 response.writer.write_header(header, value) |
| 92 |
87 response.writer.end_headers() | 93 response.writer.end_headers() |
88 | 94 |
89 server_data = {"headers": json.dumps(request.headers, indent = 4)} | 95 server_data = {"headers": json.dumps(request.headers, indent = 4)} |
90 | 96 |
91 payload = payload_generator(server_data) | 97 payload = payload_generator(server_data) |
92 response.writer.write(payload) | 98 response.writer.write(payload) |
93 | 99 |
94 | 100 |
OLD | NEW |