refactor(backend): ♻️ extract sw middleware to redure main middleware complexity

This commit is contained in:
Julien Oculi 2024-07-09 11:15:48 +02:00
parent a4c846241d
commit 8e56d5bd6d
2 changed files with 14 additions and 5 deletions

View file

@ -1,6 +1,7 @@
import { FreshContext } from '$fresh/server.ts' import { FreshContext } from '$fresh/server.ts'
import { useCsp } from ':src/csp/middleware.ts' import { useCsp } from ':src/csp/middleware.ts'
import { useSecurityHeaders } from ':src/security_headers/middleware.ts' import { useSecurityHeaders } from ':src/security_headers/middleware.ts'
import { useServiceworker } from ':src/serviceworker/middleware.ts'
import { useSession } from ':src/session/middleware.ts' import { useSession } from ':src/session/middleware.ts'
import { SessionStore } from ':src/session/mod.ts' import { SessionStore } from ':src/session/mod.ts'
@ -15,11 +16,7 @@ export async function handler(request: Request, ctx: FreshContext) {
useSecurityHeaders(request, response, ctx) useSecurityHeaders(request, response, ctx)
await useCsp(request, response, ctx) await useCsp(request, response, ctx)
useSession(request, response, ctx) useSession(request, response, ctx)
useServiceworker(request, response, ctx)
// Allow service worker to serve root scope
if (ctx.url.pathname.endsWith('island-startserviceworker.js')) {
response.headers.set('Service-Worker-Allowed', '/')
}
return response return response
} }

View file

@ -0,0 +1,12 @@
import { FreshContext } from '$fresh/server.ts'
export function useServiceworker(
_request: Request,
response: Response,
ctx: FreshContext,
) {
// Allow service worker to serve root scope
if (ctx.url.pathname.endsWith('island-startserviceworker.js')) {
response.headers.set('Service-Worker-Allowed', '/')
}
}