summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/eventsource/resources/cors.py
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/eventsource/resources/cors.py')
-rw-r--r--testing/web-platform/tests/eventsource/resources/cors.py34
1 files changed, 34 insertions, 0 deletions
diff --git a/testing/web-platform/tests/eventsource/resources/cors.py b/testing/web-platform/tests/eventsource/resources/cors.py
new file mode 100644
index 000000000..d01596c83
--- /dev/null
+++ b/testing/web-platform/tests/eventsource/resources/cors.py
@@ -0,0 +1,34 @@
+import os
+from wptserve import pipes
+
+def run_other(request, response, path):
+ #This is a terrible hack
+ environ = {"__file__": path}
+ execfile(path, environ, environ)
+ rv = environ["main"](request, response)
+ return rv
+
+def main(request, response):
+ origin = request.GET.first("origin", request.headers["origin"])
+ credentials = request.GET.first("credentials", "true")
+
+ response.headers.update([("Access-Control-Allow-Origin", origin),
+ ("Access-Control-Allow-Credentials", credentials)])
+
+ handler = request.GET.first('run')
+ if handler in ["status-reconnect",
+ "message",
+ "redirect",
+ "cache-control"]:
+ if handler == "cache-control":
+ response.headers.set("Content-Type", "text/event-stream")
+ rv = open(os.path.join(request.doc_root, "eventsource", "resources", "cache-control.event_stream"), "r").read()
+ response.content = rv
+ pipes.sub(request, response)
+ return
+ elif handler == "redirect":
+ return run_other(request, response, os.path.join(request.doc_root, "common", "redirect.py"))
+ else:
+ return run_other(request, response, os.path.join(os.path.split(__file__)[0], handler + ".py"))
+ else:
+ return