29 lines
898 B
TypeScript
29 lines
898 B
TypeScript
// 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()
|
|
}
|
|
}
|