18 lines
730 B
TypeScript
18 lines
730 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 async function middleware(req: NextRequest, res: NextResponse) {
|
|
const refererPaths = req.headers.get('referer').split('/'); // logs the referer URL to the console
|
|
const urlPaths = req.nextUrl.pathname.split('/')
|
|
const datasetName = refererPaths[refererPaths.length - 1]
|
|
const fileName = urlPaths[urlPaths.length - 1]
|
|
return NextResponse.rewrite(new URL(`/api/get-data-file?datasetName=${datasetName}&fileName=${fileName}`, req.url))
|
|
}
|
|
|
|
// See "Matching Paths" below to learn more
|
|
export const config = {
|
|
matcher: '/datasets/:file*.csv',
|
|
}
|