Node Restify在达到默认值2分钟之前请求ESOCKETTIMEDOUT

时间:2018-04-20 16:33:51

标签: node.js https restify

我有一个节点restify服务器,我主要用它来验证图片网址是否有效。对于有效的图片网址,我收到了很多ESOCKETTIMEDOUT个错误。我正在使用请求模块,它对请求的默认值为5000ms,这对我来说很合适。但是其他问题导致我切换到节点https模块。从我在研究中看到的情况来看,我可以通过server.server.setTimeout(300000)之类的方式修改2分钟的修改默认值。

我的问题很简单:

  1. 这会解决我的问题吗?我认为不是2分钟的默认值对于我正在做的事情来说已经足够了。

  2. 这甚至是我正在查看的错误设置吗?是否有其他东西可以在restify中为节点https请求设置请求超时?

  3. 这是我的基本服务器:

    const server = restify.createServer({
      formatters: {
        'text/html': function htmlFormatter(req, res, body) {
          let data = '';
          if (body) {
            data = body.toString();
          }
    
          res.setHeader('Content-Length', Buffer.byteLength(data));
          return data;
        }
      }
    });
    

    这是我的请求示例:

    const options = {
      host: parsed.host,
      path: parsed.path,
      timeout: 5000
    };
    https.get(options, (res) => {
      let body = [];
      res.on('data', (data) => {
        body.push(data);
      });
      res.on('end', () => {
        //do whatever
      });
    })
    

0 个答案:

没有答案