diff options
Diffstat (limited to 'devtools/client/responsive/test/browser/sjs_redirection.sjs')
-rw-r--r-- | devtools/client/responsive/test/browser/sjs_redirection.sjs | 34 |
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} + `); + } +} |