Skip to content

Commit e11f465

Browse files
authored
Merge pull request #63 from JGiola/fix/sandbox-ts-type
Fix typescript type for sandbox csp directive
2 parents e02c5cd + 8d1f7e6 commit e11f465

File tree

2 files changed

+41
-2
lines changed

2 files changed

+41
-2
lines changed

index.d.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ declare namespace fastifyHelmet {
7777
reportTo?: HelmetCspDirectiveValue;
7878
reportUri?: HelmetCspDirectiveValue;
7979
requireSriFor?: HelmetCspRequireSriForValue[];
80-
sandbox?: HelmetCspSandboxDirective[];
80+
sandbox?: HelmetCspSandboxDirective[] | true;
8181
scriptSrc?: HelmetCspDirectiveValue[];
8282
styleSrc?: HelmetCspDirectiveValue[];
8383
upgradeInsecureRequests?: boolean;
@@ -103,7 +103,7 @@ declare namespace fastifyHelmet {
103103
'report-to'?: HelmetCspDirectiveValue;
104104
'report-uri'?: HelmetCspDirectiveValue;
105105
'require-sri-for'?: HelmetCspRequireSriForValue[];
106-
sandbox?: HelmetCspSandboxDirective[];
106+
sandbox?: HelmetCspSandboxDirective[] | true;
107107
'script-src'?: HelmetCspDirectiveValue;
108108
'style-src'?: HelmetCspDirectiveValue;
109109
'upgrade-insecure-requests'?: boolean;

types.test.ts

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,45 @@ function contentSecurityPolicyTest() {
5757
disableAndroid: false
5858
};
5959

60+
const configWithBooleanSandbox: fastifyHelmet.IHelmetContentSecurityPolicyConfiguration = {
61+
directives: {
62+
baseUri: ["base.example.com"],
63+
blockAllMixedContent: true,
64+
childSrc: ["child.example.com"],
65+
connectSrc: ["connect.example.com"],
66+
defaultSrc: ["*"],
67+
fontSrc: ["font.example.com"],
68+
formAction: ["formaction.example.com"],
69+
frameAncestors: ["'none'"],
70+
frameSrc: emptyArray,
71+
imgSrc: ["images.example.com"],
72+
mediaSrc: ["media.example.com"],
73+
manifestSrc: ["manifest.example.com"],
74+
objectSrc: ["objects.example.com"],
75+
pluginTypes: emptyArray,
76+
prefetchSrc: ["prefetch.example.com"],
77+
reportUri: "/some-url",
78+
reportTo: "report.example.com",
79+
requireSriFor: emptyArray,
80+
sandbox: true,
81+
scriptSrc: [
82+
"scripts.example.com",
83+
function(
84+
req: fastify.FastifyRequest<http.IncomingMessage>,
85+
res: fastify.FastifyReply<http.ServerResponse>
86+
) {
87+
return "'nonce-abc123'";
88+
}
89+
],
90+
styleSrc: ["css.example.com"],
91+
upgradeInsecureRequests: true,
92+
workerSrc: ["worker.example.com"]
93+
},
94+
reportOnly: false,
95+
setAllHeaders: false,
96+
disableAndroid: false
97+
};
98+
6099
function reportUriCb(
61100
req: fastify.FastifyRequest<http.IncomingMessage>,
62101
res: fastify.FastifyReply<http.ServerResponse>

0 commit comments

Comments
 (0)