in modules/builders/src/ssr-dev-server/index.ts [337:371]
function getProxyConfig(root: string, proxyConfig: string): browserSync.MiddlewareHandler[] {
const proxyPath = pathResolve(root, proxyConfig);
let proxySettings: any;
try {
proxySettings = require(proxyPath);
} catch (error) {
if (error.code === 'MODULE_NOT_FOUND') {
throw new Error(`Proxy config file ${proxyPath} does not exist.`);
}
throw error;
}
const proxies = Array.isArray(proxySettings) ? proxySettings : [proxySettings];
const createdProxies = [];
for (const proxy of proxies) {
for (const [key, context] of Object.entries(proxy)) {
if (typeof key === 'string') {
createdProxies.push(
createProxyMiddleware(
key.replace(/^\*$/, '**').replace(/\/\*$/, ''),
context as any,
) as browserSync.MiddlewareHandler,
);
} else {
createdProxies.push(
createProxyMiddleware(key, context as any) as browserSync.MiddlewareHandler,
);
}
}
}
return createdProxies;
}