in devserver.js [68:135]
const runWebpackServer = function () {
const proxy = httpProxy.createServer({
secure: false,
changeOrigin: true,
target: settings.proxy.target
});
proxy.on('proxyRes', function (proxyRes) {
if (proxyRes.headers['set-cookie']) {
proxyRes.headers['set-cookie'][0] = proxyRes.headers["set-cookie"][0].replace('Secure', '');
}
});
proxy.on('error', function () {
// don't explode on cancelled requests
});
const options = {
static: {
directory: path.join(__dirname, '/dist/debug/')
},
host: '0.0.0.0',
port: process.env.FAUXTON_PORT || 8000,
client: {
overlay: true,
},
hot: false,
historyApiFallback: false,
allowedHosts: "auto",
devMiddleware: {
stats: {
colors: true,
},
},
headers: getCspHeaders(),
setupMiddlewares: (middlewares, devServer) => {
if (!devServer) {
throw new Error('webpack-dev-server is not defined');
}
middlewares.unshift(
{
name: "proxy-to-couchdb",
middleware: ('*', (req, res, next) => {
const accept = req.headers.accept ? req.headers.accept.split(',') : '';
if (/application\/json/.test(accept[0]) || /multipart\/form-data/.test(accept[0])) {
proxy.web(req, res);
return;
}
next();
}),
}
);
return middlewares;
},
};
const compiler = webpack(config);
const server = new WebpackDev(options, compiler);
server.startCallback(() => {
console.info('listening on', options.host, options.port);
console.info('Starting first compile. This will take about 10 seconds...');
});
};