diff options
Diffstat (limited to 'dom/security/test/referrer-policy/referrer_page.sjs')
-rw-r--r-- | dom/security/test/referrer-policy/referrer_page.sjs | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/dom/security/test/referrer-policy/referrer_page.sjs b/dom/security/test/referrer-policy/referrer_page.sjs new file mode 100644 index 0000000000..62ec634e40 --- /dev/null +++ b/dom/security/test/referrer-policy/referrer_page.sjs @@ -0,0 +1,41 @@ +Cu.importGlobalProperties(["URLSearchParams"]); + +function handleRequest(request, response) { + let params = new URLSearchParams(request.queryString); + let referrerPolicyHeader = params.get("header") || ""; + let metaReferrerPolicy = params.get("meta") || ""; + let showReferrer = params.has("show"); + + if (referrerPolicyHeader) { + response.setHeader("Referrer-Policy", referrerPolicyHeader, false); + } + + let metaString = ""; + let resultString = ""; + + if (metaReferrerPolicy) { + metaString = `<meta name="referrer" content="${metaReferrerPolicy}">`; + } + + if (showReferrer) { + if (request.hasHeader("Referer")) { + resultString = `Referer Header: <a id="result">${request.getHeader( + "Referer" + )}</a>`; + } else { + resultString = `Referer Header: <a id="result"></a>`; + } + } + + response.write( + `<!DOCTYPE HTML> + <html> + <head> + ${metaString} + </head> + <body> + ${resultString} + </body> + </html>` + ); +} |