const runWebpackServer = function()

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...');
  });
};