Skip to content

Commit 04d355f

Browse files
authored
Merge pull request #1001 from ensdomains/fix/safari-csp
fix: safari csp
2 parents fa76f11 + 4f9f4cc commit 04d355f

1 file changed

Lines changed: 8 additions & 2 deletions

File tree

functions/_middleware.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ const staticHandler: PagesFunction = async ({ request, next, env }) => {
5252
return next()
5353
}
5454

55-
const firefoxRewrite: PagesFunction = async ({ request, next }) => {
55+
const cspRewrite: PagesFunction = async ({ request, next }) => {
5656
const userAgent = request.headers.get('user-agent')?.toLowerCase()
5757
const response = await next()
5858

@@ -64,6 +64,12 @@ const firefoxRewrite: PagesFunction = async ({ request, next }) => {
6464
.transform(response)
6565
}
6666

67+
// safari CSP exception
68+
if (userAgent?.includes('safari/') && userAgent.includes('version/')) {
69+
response.headers.set('Content-Security-Policy', cspOnlyFrameAncestors)
70+
return response
71+
}
72+
6773
// default headers
6874
response.headers.set('Content-Security-Policy', cspWithFrameAncestors)
6975
return response
@@ -166,4 +172,4 @@ const pathRewriter: PagesFunction = async ({ request, next }) => {
166172
return next()
167173
}
168174

169-
export const onRequest = [staticHandler, firefoxRewrite, pathRewriter]
175+
export const onRequest = [staticHandler, cspRewrite, pathRewriter]

0 commit comments

Comments
 (0)