link-stack/apps/link/middleware.ts

30 lines
898 B
TypeScript
Raw Normal View History

2023-02-09 21:51:12 +00:00
// middleware.ts
import { NextResponse } from 'next/server'
import type { NextRequest } from 'next/server'
// This function can be marked `async` if using `await` inside
export function middleware(request: NextRequest) {
console.log("INTO middleware")
const path = request.nextUrl.pathname
console.log({ path })
if (path.startsWith('/zammad')) {
console.log("INTO middleware 2")
const finalURL = new URL(path.replace("/zammad", ""), process.env.ZAMMAD_URL)
console.log(finalURL.toString())
const requestHeaders = new Headers()
requestHeaders.set('X-Forwarded-User', 'darren@redaranj.com')
requestHeaders.set('Host', 'zammad.example.com')
console.log(requestHeaders)
return NextResponse.rewrite(finalURL, {
request: {
headers: requestHeaders
}
})
} else {
console.log("INTO middleware 3")
return NextResponse.next()
}
}