blob: 2f0e9d0525ac8b1de6dcaa1d53597af309889374 [file] [log] [blame]
import os
import glob
def main(request, response):
host_piece = request.url_parts.hostname.split(".")[0]
# Default return code for manifests if found.
return_code = 200
# Reserve 'op99' for tests that should use return code 404.
if host_piece == "op99":
return_code = 404
# Default mime type for returned data.
content_type = "application/originpolicy+json"
# op100 tests an invalid MIME type.
if host_piece == "op100":
content_type = "text/plain"
# op98 tests that charset is ignored and the result is always processed as UTF-8.
if host_piece == "op98":
content_type = "application/originpolicy+json;charset=utf-16"
# op97 tests that adding charset=utf-8 (and a BOM) does not break anything.
if host_piece == "op97":
content_type = "application/originpolicy+json;charset=utf-8"
filepath_pattern = os.path.normpath(os.path.join(os.path.dirname(os.path.abspath(
__file__)), "../origin-policy/policies/", "{} *.json".format(host_piece)))
matches = glob.glob(filepath_pattern)
if len(matches) != 1:
return 404, [], '{} origin policies found at a path matching "{}"'.format(len(matches), filepath_pattern)
with open(matches[0], 'rb') as f:
data = f.read()
return return_code, [('Content-Type', content_type)], data