-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathmiddleware.ts
32 lines (31 loc) · 1.01 KB
/
middleware.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
/* eslint-disable @next/next/no-server-import-in-page */
/* eslint-disable @typescript-eslint/no-shadow */
/* eslint-disable @typescript-eslint/no-unused-vars */
import { NextRequest, NextResponse } from 'next/server';
import cors, { CorsOptions } from 'lib/cors';
export default async function middleware(req: NextRequest) {
if (req.nextUrl.pathname.startsWith('/api/graphql')) {
const res = NextResponse.next();
const corsOptions: CorsOptions = {
origin: [
'http://localhost:4200',
'https://studio.apollographql.com',
'https://portal.acmutd.co'
],
credentials: true,
allowedHeaders: [
'Origin',
'X-Requested-With',
'Content-Type',
'Accept',
'Access-Control-Allow-Methods',
'Access-Control-Allow-Origin',
'Access-Control-Allow-Credentials',
'Access-Control-Allow-Headers',
'Content-Disposition',
],
exposedHeaders: ['Content-Disposition'],
};
return cors(req, res, corsOptions);
}
}