summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/common/slow-redirect.py
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--testing/web-platform/tests/common/slow-redirect.py29
1 files changed, 29 insertions, 0 deletions
diff --git a/testing/web-platform/tests/common/slow-redirect.py b/testing/web-platform/tests/common/slow-redirect.py
new file mode 100644
index 0000000000..85c80e0844
--- /dev/null
+++ b/testing/web-platform/tests/common/slow-redirect.py
@@ -0,0 +1,29 @@
+import time
+
+def main(request, response):
+ """Simple handler that causes redirection.
+
+ The request should typically have two query parameters:
+ status - The status to use for the redirection. Defaults to 302.
+ location - The resource to redirect to.
+ """
+ status = 302
+ delay = 2
+ if b"status" in request.GET:
+ try:
+ status = int(request.GET.first(b"status"))
+ except ValueError:
+ pass
+
+ if b"delay" in request.GET:
+ try:
+ delay = int(request.GET.first(b"delay"))
+ except ValueError:
+ pass
+
+ response.status = status
+ time.sleep(delay)
+
+ location = request.GET.first(b"location")
+
+ response.headers.set(b"Location", location)