Merge pull request #3331 from YoSev/fix-dockerCors

fix(docker): add cors support when using a custom endpoint
This commit is contained in:
Mike Cao 2025-03-27 21:01:32 -07:00 committed by GitHub
commit acbcd05190
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -3,6 +3,24 @@ import { NextResponse } from 'next/server';
export const config = {
matcher: '/:path*',
};
const apiHeaders = [
{
key: 'Access-Control-Allow-Origin',
value: '*',
},
{
key: 'Access-Control-Allow-Headers',
value: '*',
},
{
key: 'Access-Control-Allow-Methods',
value: 'GET, DELETE, POST, PUT',
},
{
key: 'Access-Control-Max-Age',
value: process.env.CORS_MAX_AGE || '86400',
},
];
function customCollectEndpoint(req) {
const collectEndpoint = process.env.COLLECT_API_ENDPOINT;
@ -13,7 +31,9 @@ function customCollectEndpoint(req) {
if (pathname.endsWith(collectEndpoint)) {
url.pathname = '/api/send';
return NextResponse.rewrite(url);
const resp = NextResponse.rewrite(url);
apiHeaders.forEach(({ key, value }) => resp.headers.append(key, value));
return resp;
}
}
}