Skip to content

Commit e77b98a

Browse files
authored
feat: add logging to understand impact of trailing slash 308s (#2743)
1 parent aab8803 commit e77b98a

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

Diff for: src/run/handlers/server.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ export default async (request: Request) => {
108108

109109
await adjustDateHeader({ headers: response.headers, request, span, tracer, requestContext })
110110

111-
setCacheControlHeaders(response, request, requestContext)
111+
setCacheControlHeaders(response, request, requestContext, nextConfig)
112112
setCacheTagsHeaders(response.headers, requestContext)
113113
setVaryHeaders(response.headers, request, nextConfig)
114114
setCacheStatusHeader(response.headers)

Diff for: src/run/headers.ts

+9-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import type { NextConfigComplete } from 'next/dist/server/config-shared.js'
33

44
import { encodeBlobKey } from '../shared/blobkey.js'
55

6-
import type { RequestContext } from './handlers/request-context.cjs'
6+
import { getLogger, RequestContext } from './handlers/request-context.cjs'
77
import type { RuntimeTracer } from './handlers/tracer.cjs'
88
import { getRegionalBlobStore } from './regional-blob-store.cjs'
99

@@ -216,6 +216,7 @@ export const setCacheControlHeaders = (
216216
{ headers, status }: Response,
217217
request: Request,
218218
requestContext: RequestContext,
219+
nextConfig: NextConfigComplete,
219220
) => {
220221
if (
221222
typeof requestContext.routeHandlerRevalidate !== 'undefined' &&
@@ -234,6 +235,13 @@ export const setCacheControlHeaders = (
234235
return
235236
}
236237

238+
// temporary diagnostic to evaluate number of trailing slash redirects
239+
if (status === 308 && request.url.endsWith('/') !== nextConfig.trailingSlash) {
240+
getLogger()
241+
.withFields({ trailingSlash: nextConfig.trailingSlash })
242+
.log('NetlifyHeadersHandler.trailingSlashRedirect')
243+
}
244+
237245
if (status === 404 && request.url.endsWith('.php')) {
238246
// temporary CDN Cache Control handling for bot probes on PHP files
239247
// https://linear.app/netlify/issue/FRB-1344/prevent-excessive-ssr-invocations-due-to-404-routes

0 commit comments

Comments
 (0)