Skip to content

Instantly share code, notes, and snippets.

@szymonkorytnicki
Created November 8, 2022 07:45
Show Gist options
  • Save szymonkorytnicki/9615ccc1568081d34aa7f428564940e9 to your computer and use it in GitHub Desktop.
Save szymonkorytnicki/9615ccc1568081d34aa7f428564940e9 to your computer and use it in GitHub Desktop.
export async function middleware(request: NextRequest) {
const response = NextResponse.next();
for await (const middlewareFunction of MIDDLEWARES) {
const middlewareResponse = await middlewareFunction(request, response);
if (isRedirecting(middlewareResponse)) {
return middlewareResponse;
}
if (isRewriting(middlewareResponse)) {
return middlewareResponse;
}
}
return response;
}
function isRedirecting(response: NextResponse): boolean {
return response.status === 307 || response.status === 308;
}
function isRewriting(response: NextResponse): boolean {
return response.headers.has('x-middleware-rewrite');
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment