import os from wptserve.utils import isomorphic_decode def get_template(template_basename): script_directory = os.path.dirname(os.path.abspath(isomorphic_decode(__file__))) template_directory = os.path.abspath( os.path.join(script_directory, u"template")) template_filename = os.path.join(template_directory, template_basename) with open(template_filename, "r") as f: return f.read() def __noop(request, response): return u"" def respond(request, response, status_code=200, content_type=b"text/html", payload_generator=__noop, cache_control=b"no-cache; must-revalidate", access_control_allow_origin=b"*", maybe_additional_headers=None): response.add_required_headers = False response.writer.write_status(status_code) if access_control_allow_origin != None: response.writer.write_header(b"access-control-allow-origin", access_control_allow_origin) response.writer.write_header(b"content-type", content_type) response.writer.write_header(b"cache-control", cache_control) additional_headers = maybe_additional_headers or {} for header, value in additional_headers.items(): response.writer.write_header(header, value) response.writer.end_headers() payload = payload_generator() response.writer.write(payload)