Spaces:
Running
Running
| import { NextRequest, NextResponse } from 'next/server'; | |
| import { isMarkdownPreferred, rewritePath } from 'fumadocs-core/negotiation'; | |
| import { docsContentRoute, docsRoute } from '@/lib/shared'; | |
| const { rewrite: rewriteDocs } = rewritePath( | |
| `${docsRoute}{/*path}`, | |
| `${docsContentRoute}{/*path}/content.md`, | |
| ); | |
| const { rewrite: rewriteSuffix } = rewritePath( | |
| `${docsRoute}{/*path}.mdx`, | |
| `${docsContentRoute}{/*path}/content.md`, | |
| ); | |
| export default function proxy(request: NextRequest) { | |
| const result = rewriteSuffix(request.nextUrl.pathname); | |
| if (result) { | |
| return NextResponse.rewrite(new URL(result, request.nextUrl)); | |
| } | |
| if (isMarkdownPreferred(request)) { | |
| const result = rewriteDocs(request.nextUrl.pathname); | |
| if (result) { | |
| return NextResponse.rewrite(new URL(result, request.nextUrl)); | |
| } | |
| } | |
| return NextResponse.next(); | |
| } | |