summaryrefslogtreecommitdiffstats
path: root/devtools/client/responsive/test/browser/sjs_redirection.sjs
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/client/responsive/test/browser/sjs_redirection.sjs')
-rw-r--r--devtools/client/responsive/test/browser/sjs_redirection.sjs34
1 files changed, 34 insertions, 0 deletions
diff --git a/devtools/client/responsive/test/browser/sjs_redirection.sjs b/devtools/client/responsive/test/browser/sjs_redirection.sjs
new file mode 100644
index 0000000000..9bd88a1f8e
--- /dev/null
+++ b/devtools/client/responsive/test/browser/sjs_redirection.sjs
@@ -0,0 +1,34 @@
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+
+"use strict";
+
+async function handleRequest(request, response) {
+ const query = new URLSearchParams(request.queryString);
+
+ const requestUserAgent = request.getHeader("user-agent");
+ const redirectRequestUserAgent = getState(
+ "redirect-request-user-agent-header"
+ );
+
+ const shouldRedirect = query.has("redirect");
+ if (shouldRedirect) {
+ response.setStatusLine(request.httpVersion, 302, "Found");
+ setState("redirect-request-user-agent-header", requestUserAgent);
+ response.setHeader(
+ "Location",
+ `http://${request.host}${request.path}?redirected`
+ );
+ } else {
+ response.setStatusLine(request.httpVersion, 200, "OK");
+ response.write(`
+ <script>
+ globalThis.requestUserAgent = ${JSON.stringify(requestUserAgent)};
+ globalThis.redirectRequestUserAgent = ${JSON.stringify(
+ redirectRequestUserAgent
+ )};
+ </script>
+ ${requestUserAgent}
+ `);
+ }
+}