diff options
Diffstat (limited to 'testing/web-platform/tests/resource-timing/SyntheticResponse.py')
-rw-r--r-- | testing/web-platform/tests/resource-timing/SyntheticResponse.py | 26 |
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 + |