44 lines
1.1 KiB
TypeScript
44 lines
1.1 KiB
TypeScript
import type { NextConfig } from 'next';
|
|
|
|
function resolveInternalApiUrl(fallback = 'http://localhost:3000') {
|
|
const explicit = process.env.INTERNAL_API_URL?.trim();
|
|
if (explicit) {
|
|
return explicit.replace(/\/+$/, '');
|
|
}
|
|
return fallback.replace(/\/+$/, '');
|
|
}
|
|
|
|
const internalApiUrl = resolveInternalApiUrl('http://localhost:3000');
|
|
|
|
const internalWsUrl = (process.env.INTERNAL_WS_URL ?? 'http://media-ws:8085').replace(/\/$/, '');
|
|
|
|
const nextConfig: NextConfig = {
|
|
typedRoutes: false,
|
|
async rewrites() {
|
|
return [
|
|
{
|
|
source: '/idp-api/ws',
|
|
destination: `${internalWsUrl}/ws`
|
|
},
|
|
{
|
|
source: '/idp-api/:path*',
|
|
destination: `${internalApiUrl}/:path*`
|
|
},
|
|
{
|
|
source: '/oauth/:path*',
|
|
destination: `${internalApiUrl}/oauth/:path*`
|
|
},
|
|
{
|
|
source: '/fedcm/:path*',
|
|
destination: `${internalApiUrl}/fedcm/:path*`
|
|
},
|
|
{
|
|
source: '/.well-known/:path*',
|
|
destination: `${internalApiUrl}/.well-known/:path*`
|
|
}
|
|
];
|
|
}
|
|
};
|
|
|
|
export default nextConfig;
|