57 lines
1.7 KiB
JavaScript
57 lines
1.7 KiB
JavaScript
module.exports = {
|
|
devServer: {
|
|
server: {
|
|
type: 'https',
|
|
// options: {
|
|
// cert: '/path/to/cert.pem',
|
|
// key: '/path/to/key.pem',
|
|
// }
|
|
},
|
|
setupMiddlewares: (middlewares, devServer) => {
|
|
const { createProxyMiddleware } = require('http-proxy-middleware');
|
|
|
|
if (!devServer) {
|
|
throw new Error('webpack-dev-server is not defined');
|
|
}
|
|
|
|
devServer.app.use('/api', createProxyMiddleware({
|
|
target: 'https://backstory:8911',
|
|
changeOrigin: true,
|
|
secure: false,
|
|
buffer: false,
|
|
proxyTimeout: 3600000,
|
|
onProxyRes: function(proxyRes, req, res) {
|
|
proxyRes.headers['cache-control'] = 'no-cache';
|
|
|
|
if (req.url.includes('/docs') ||
|
|
req.url.includes('/redoc') ||
|
|
req.url.includes('/openapi.json')) {
|
|
return; // Let original headers pass through
|
|
}
|
|
// Remove any header that might cause buffering
|
|
proxyRes.headers['transfer-encoding'] = 'chunked';
|
|
delete proxyRes.headers['content-length'];
|
|
|
|
// Set proper streaming headers
|
|
proxyRes.headers['cache-control'] = 'no-cache';
|
|
proxyRes.headers['content-type'] = 'text/event-stream';
|
|
proxyRes.headers['connection'] = 'keep-alive';
|
|
},
|
|
}));
|
|
|
|
return middlewares;
|
|
}
|
|
},
|
|
webpack: {
|
|
configure: (webpackConfig) => {
|
|
// Add .ts and .tsx to resolve.extensions
|
|
webpackConfig.resolve.extensions = [
|
|
...webpackConfig.resolve.extensions,
|
|
'.ts',
|
|
'.tsx',
|
|
];
|
|
return webpackConfig;
|
|
},
|
|
},
|
|
};
|