summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/resource-timing/SyntheticResponse.py
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/resource-timing/SyntheticResponse.py')
-rw-r--r--testing/web-platform/tests/resource-timing/SyntheticResponse.py26
1 files changed, 26 insertions, 0 deletions
diff --git a/testing/web-platform/tests/resource-timing/SyntheticResponse.py b/testing/web-platform/tests/resource-timing/SyntheticResponse.py
new file mode 100644
index 000000000..7fbf79e25
--- /dev/null
+++ b/testing/web-platform/tests/resource-timing/SyntheticResponse.py
@@ -0,0 +1,26 @@
+import urllib
+import time
+
+def main(request, response):
+ index = request.request_path.index("?")
+ args = request.request_path[index+1:].split("&")
+ headersSent = 0
+ for arg in args:
+ if arg.startswith("ignored"):
+ continue
+ elif arg.endswith("ms"):
+ time.sleep(float(arg[0:-2]) / 1E3);
+ elif arg.startswith("redirect:"):
+ return (302, "WEBPERF MARKETING"), [("Location", urllib.unquote(arg[9:]))], "TEST"
+ elif arg.startswith("mime:"):
+ response.headers.set("Content-Type", urllib.unquote(arg[5:]))
+ elif arg.startswith("send:"):
+ text = urllib.unquote(arg[5:])
+ if headersSent == 0:
+ response.write_status_headers()
+ headersSent = 1
+
+ response.writer.write(text)
+# else:
+# error " INVALID ARGUMENT %s" % arg
+