util.py (1381B)
1 import os 2 3 from wptserve.utils import isomorphic_decode 4 5 def get_template(template_basename): 6 script_directory = os.path.dirname(os.path.abspath(isomorphic_decode(__file__))) 7 template_directory = os.path.abspath( 8 os.path.join(script_directory, u"template")) 9 template_filename = os.path.join(template_directory, template_basename) 10 11 with open(template_filename, "r") as f: 12 return f.read() 13 14 15 def __noop(request, response): 16 return u"" 17 18 19 def respond(request, 20 response, 21 status_code=200, 22 content_type=b"text/html", 23 payload_generator=__noop, 24 cache_control=b"no-cache; must-revalidate", 25 access_control_allow_origin=b"*", 26 maybe_additional_headers=None): 27 response.add_required_headers = False 28 response.writer.write_status(status_code) 29 30 if access_control_allow_origin != None: 31 response.writer.write_header(b"access-control-allow-origin", 32 access_control_allow_origin) 33 response.writer.write_header(b"content-type", content_type) 34 response.writer.write_header(b"cache-control", cache_control) 35 36 additional_headers = maybe_additional_headers or {} 37 for header, value in additional_headers.items(): 38 response.writer.write_header(header, value) 39 40 response.writer.end_headers() 41 42 payload = payload_generator() 43 response.writer.write(payload)