express-http-proxy在这里做什么?

时间:2019-01-27 11:39:04

标签: node.js express

我试图了解外部请求达到<server-url>/user时的流程。我了解个别术语here和代理的概念,但仍然没有真正联系-

const proxy = require('express-http-proxy');

app.use(
  '/user',
  proxy(selectProxyHost(config, app), {
    preserveHostHdr: true,
    timeout: 5000,
    proxyReqPathResolver: req => req.originalUrl,
    filter: req => (req.query || {}).format === 'json',
    userResDecorator: (proxyRes, proxyResData) => {
      if (proxyRes.statusCode >= 400) {
        return { message: `Error: ${proxyRes.statusMessage || 'Unknown'}` };
      }
      console.log("proxyResData: ", proxyResData);
      return proxyResData;
    }
  })
);

我添加了console.log("proxyResData: ", proxyResData);来检查此处记录了什么,但是什么都没记录。

我无条件抛出错误-

userResDecorator: (proxyRes, proxyResData) => {
    return { message: `Error: ${proxyRes.statusMessage || 'Unknown'}` 
}

令我惊讶的是,页面仍然加载。我想了解这是如何工作的?

0 个答案:

没有答案