redirect.sjs (963B)
1 function parseQuery(request, key) { 2 var params = request.queryString.split("&"); 3 for (var j = 0; j < params.length; ++j) { 4 var p = params[j]; 5 if (p == key) { 6 return true; 7 } 8 if (p.indexOf(key + "=") == 0) { 9 return p.substring(key.length + 1); 10 } 11 if (!p.includes("=") && key == "") { 12 return p; 13 } 14 } 15 return false; 16 } 17 18 // Return file content for the first request with a given key. 19 // All subsequent requests return a redirect to a different-origin resource. 20 function handleRequest(request, response) { 21 var domain = parseQuery(request, "domain"); 22 var file = parseQuery(request, "file"); 23 var allowed = parseQuery(request, "allowed"); 24 25 response.setStatusLine(request.httpVersion, 303, "See Other"); 26 response.setHeader( 27 "Location", 28 "http://" + 29 domain + 30 "/tests/dom/media/test/" + 31 (allowed ? "allowed.sjs?" : "") + 32 file 33 ); 34 response.setHeader("Content-Type", "text/html"); 35 }