mirror of
https://github.com/classilla/tenfourfox.git
synced 2024-10-22 02:25:05 +00:00
54 lines
1.9 KiB
JavaScript
54 lines
1.9 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
* http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
function handleRequest(request, response)
|
|
{
|
|
response.setHeader("Content-Type", "text/plain; charset=utf-8", false);
|
|
|
|
let issue;
|
|
switch (request.queryString) {
|
|
case "badSyntax":
|
|
response.setHeader("Public-Key-Pins", "\"");
|
|
issue = "is not syntactically correct.";
|
|
break;
|
|
case "noMaxAge":
|
|
response.setHeader("Public-Key-Pins", "max-age444");
|
|
issue = "does not include a max-age directive.";
|
|
break;
|
|
case "invalidIncludeSubDomains":
|
|
response.setHeader("Public-Key-Pins", "includeSubDomains=abc");
|
|
issue = "includes an invalid includeSubDomains directive.";
|
|
break;
|
|
case "invalidMaxAge":
|
|
response.setHeader("Public-Key-Pins", "max-age=abc");
|
|
issue = "includes an invalid max-age directive.";
|
|
break;
|
|
case "multipleIncludeSubDomains":
|
|
response.setHeader("Public-Key-Pins",
|
|
"includeSubDomains; includeSubDomains");
|
|
issue = "includes multiple includeSubDomains directives.";
|
|
break;
|
|
case "multipleMaxAge":
|
|
response.setHeader("Public-Key-Pins",
|
|
"max-age=444; max-age=999");
|
|
issue = "includes multiple max-age directives.";
|
|
break;
|
|
case "multipleReportURIs":
|
|
response.setHeader("Public-Key-Pins",
|
|
'report-uri="http://example.com"; ' +
|
|
'report-uri="http://example.com"');
|
|
issue = "includes multiple report-uri directives.";
|
|
break;
|
|
case "pinsetDoesNotMatch":
|
|
response.setHeader(
|
|
"Public-Key-Pins",
|
|
'max-age=999; ' +
|
|
'pin-sha256="AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="; ' +
|
|
'pin-sha256="BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB="');
|
|
issue = "does not include a matching pin.";
|
|
break;
|
|
}
|
|
|
|
response.write("This page is served with a PKP header that " + issue);
|
|
}
|