@@ -23,9 +23,9 @@ export function withRouteHandler<T>(handler: RouteHandler<T>): RouteHandler<T> {
2323 return async ( request : NextRequest , context : T ) => {
2424 const requestId = generateRequestId ( )
2525 const startTime = Date . now ( )
26- const method = request . method
26+ const method = request ? .method ?? 'UNKNOWN'
2727 const path =
28- request . nextUrl ?. pathname ?? new URL ( request . url ?? '/' , 'http://localhost' ) . pathname
28+ request ? .nextUrl ?. pathname ?? new URL ( request ? .url ?? '/' , 'http://localhost' ) . pathname
2929
3030 return runWithRequestContext ( { requestId, method, path } , async ( ) => {
3131 let response : NextResponse | Response
@@ -36,22 +36,22 @@ export function withRouteHandler<T>(handler: RouteHandler<T>): RouteHandler<T> {
3636 const message = error instanceof Error ? error . message : 'Unknown error'
3737 logger . error ( 'Unhandled route error' , { duration, error : message } )
3838 response = NextResponse . json ( { error : 'Internal server error' , requestId } , { status : 500 } )
39- response . headers . set ( 'x-request-id' , requestId )
39+ response ? .headers ? .set ( 'x-request-id' , requestId )
4040 return response
4141 }
4242
43- const status = response . status
43+ const status = response ? .status ?? 0
4444 const duration = Date . now ( ) - startTime
4545
4646 if ( status >= 500 ) {
4747 logger . error ( 'Server error response' , { status, duration } )
4848 } else if ( status >= 400 ) {
4949 logger . warn ( 'Client error response' , { status, duration } )
50- } else {
50+ } else if ( status > 0 ) {
5151 logger . info ( 'OK' , { status, duration } )
5252 }
5353
54- response . headers . set ( 'x-request-id' , requestId )
54+ response ? .headers ? .set ( 'x-request-id' , requestId )
5555 return response
5656 } )
5757 }
0 commit comments