summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/referrer-policy/generic/subresource/subresource.py
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/referrer-policy/generic/subresource/subresource.py')
-rw-r--r--testing/web-platform/tests/referrer-policy/generic/subresource/subresource.py94
1 files changed, 0 insertions, 94 deletions
diff --git a/testing/web-platform/tests/referrer-policy/generic/subresource/subresource.py b/testing/web-platform/tests/referrer-policy/generic/subresource/subresource.py
deleted file mode 100644
index 7571b32d0..000000000
--- a/testing/web-platform/tests/referrer-policy/generic/subresource/subresource.py
+++ /dev/null
@@ -1,94 +0,0 @@
-import os, sys, json, urlparse, urllib
-
-def get_template(template_basename):
- script_directory = os.path.dirname(os.path.abspath(__file__))
- template_directory = os.path.abspath(os.path.join(script_directory,
- "..",
- "template"))
- template_filename = os.path.join(template_directory, template_basename);
-
- with open(template_filename, "r") as f:
- return f.read()
-
-# TODO(kristijanburnik): subdomain_prefix is a hardcoded value aligned with
-# referrer-policy-test-case.js. The prefix should be configured in one place.
-def get_swapped_origin_netloc(netloc, subdomain_prefix = "www1."):
- if netloc.startswith(subdomain_prefix):
- return netloc[len(subdomain_prefix):]
- else:
- return subdomain_prefix + netloc
-
-def create_redirect_url(request, cross_origin = False):
- parsed = urlparse.urlsplit(request.url)
- destination_netloc = parsed.netloc
- if cross_origin:
- destination_netloc = get_swapped_origin_netloc(parsed.netloc)
-
- destination_url = urlparse.urlunsplit(urlparse.SplitResult(
- scheme = parsed.scheme,
- netloc = destination_netloc,
- path = parsed.path,
- query = None,
- fragment = None))
-
- return destination_url
-
-
-def redirect(url, response):
- response.add_required_headers = False
- response.writer.write_status(301)
- response.writer.write_header("access-control-allow-origin", "*")
- response.writer.write_header("location", url)
- response.writer.end_headers()
- response.writer.write("")
-
-
-def preprocess_redirection(request, response):
- if "redirection" not in request.GET:
- return False
-
- redirection = request.GET["redirection"]
-
- if redirection == "no-redirect":
- return False
- elif redirection == "keep-origin-redirect":
- redirect_url = create_redirect_url(request, cross_origin = False)
- elif redirection == "swap-origin-redirect":
- redirect_url = create_redirect_url(request, cross_origin = True)
- else:
- raise ValueError("Invalid redirection type '%s'" % redirection)
-
- redirect(redirect_url, response)
- return True
-
-
-def __noop(request, response):
- return ""
-
-
-def respond(request,
- response,
- status_code = 200,
- content_type = "text/html",
- payload_generator = __noop,
- cache_control = "no-cache; must-revalidate",
- access_control_allow_origin = "*"):
- if preprocess_redirection(request, response):
- return
-
- response.add_required_headers = False
- response.writer.write_status(status_code)
-
- if access_control_allow_origin != None:
- response.writer.write_header("access-control-allow-origin",
- access_control_allow_origin)
- response.writer.write_header("content-type", content_type)
- response.writer.write_header("cache-control", cache_control)
- response.writer.end_headers()
-
- server_data = {"headers": json.dumps(request.headers, indent = 4)}
-
- payload = payload_generator(server_data)
- response.writer.write(payload)
-
-