diff options
Diffstat (limited to 'dom/media/test/redirect.sjs')
-rw-r--r-- | dom/media/test/redirect.sjs | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/dom/media/test/redirect.sjs b/dom/media/test/redirect.sjs new file mode 100644 index 000000000..1653e8efc --- /dev/null +++ b/dom/media/test/redirect.sjs @@ -0,0 +1,26 @@ +function parseQuery(request, key) { + var params = request.queryString.split('&'); + for (var j = 0; j < params.length; ++j) { + var p = params[j]; + if (p == key) + return true; + if (p.indexOf(key + "=") == 0) + return p.substring(key.length + 1); + if (p.indexOf("=") < 0 && key == "") + return p; + } + return false; +} + +// Return file content for the first request with a given key. +// All subsequent requests return a redirect to a different-origin resource. +function handleRequest(request, response) +{ + var domain = parseQuery(request, "domain"); + var file = parseQuery(request, "file"); + var allowed = parseQuery(request, "allowed"); + + response.setStatusLine(request.httpVersion, 303, "See Other"); + response.setHeader("Location", "http://" + domain + "/tests/dom/media/test/" + (allowed ? "allowed.sjs?" : "") + file); + response.setHeader("Content-Type", "text/html"); +} |