1- import { NextFetchEvent , NextRequest , NextResponse } from 'next/server'
1+ import {
2+ NextFetchEvent ,
3+ NextMiddleware ,
4+ NextRequest ,
5+ NextResponse ,
6+ } from 'next/server'
27import { get , post } from '@titicaca/fetcher'
38import { parseString , splitCookiesString } from 'set-cookie-parser'
49
5- import { CustomMiddleware } from './types'
610import { TP_SE , TP_TK } from './constants'
711
8- export function refreshSessionMiddleware ( customMiddleware : CustomMiddleware ) {
12+ export function refreshSessionMiddleware ( next : NextMiddleware ) {
913 return async function middleware (
1014 request : NextRequest ,
1115 event : NextFetchEvent ,
1216 ) {
17+ const response = ( await next ( request , event ) ) as NextResponse
1318 const url = request . nextUrl
1419
1520 const isPageUrl = url . pathname . match ( '^/((?!(api|static|.*\\..*|_next)).*)' )
1621 if ( ! isPageUrl ) {
17- return customMiddleware ( request , event , NextResponse . next ( ) )
22+ return response
1823 }
1924
2025 const allCookies = request . cookies . getAll ( )
@@ -25,7 +30,7 @@ export function refreshSessionMiddleware(customMiddleware: CustomMiddleware) {
2530 const cookies = deriveAllCookies ( request . cookies . getAll ( ) )
2631
2732 if ( ! isSessionExisted ) {
28- return customMiddleware ( request , event , NextResponse . next ( ) )
33+ return response
2934 }
3035
3136 const options = {
@@ -36,7 +41,7 @@ export function refreshSessionMiddleware(customMiddleware: CustomMiddleware) {
3641 const firstTrialResponse = await get ( '/api/users/me' , options )
3742
3843 if ( firstTrialResponse . status !== 401 ) {
39- return customMiddleware ( request , event , NextResponse . next ( ) )
44+ return response
4045 }
4146
4247 /**
@@ -73,10 +78,10 @@ export function refreshSessionMiddleware(customMiddleware: CustomMiddleware) {
7378
7479 response . headers . set ( 'set-cookie' , setCookie )
7580
76- return customMiddleware ( request , event , response )
81+ return response
7782 }
7883 }
79- return customMiddleware ( request , event , NextResponse . next ( ) )
84+ return response
8085 }
8186}
8287
0 commit comments