Runkit端点Javascript请求套接字挂起错误

时间:2020-11-05 07:53:20

标签: javascript node.js runkit.com

我有以下代码来检查网站是否正常运行,如果网站在所有其他情况下都返回200或另一个,则返回一个特定的常量。

Runkit link

var request = require('request');
var endpoint = require("@runkit/runkit/json-endpoint/1.0.0");

const options = {
  url: 'https://api.commbank.com.au/public/cds-au/v1/banking/products',
  headers: {
    'x-v': '2'
  }
};

const success = { 
    "schemaVersion": 1,
    "label": "API Status", 
    "message": "Online",
    "color": "green"
}; 

const failure = { 
    "schemaVersion": 1,
    "label": "API Status", 
    "message": "Offline",
    "color": "red"
}; 

var successString = JSON.stringify(success);
var failureString = JSON.stringify(failure);

function testAPI(cb) {
    request(options, cb);
}

exports.endpoint = function(request, response) {
    var callback = function(e,r,b) {
        if (r.statusCode.toString().localeCompare("200") == 0) {
            response.end(successString);
        } else {
            response.end(failureString);
        }
        
    }
    testAPI(callback);
}

如果网站返回200,则此代码非常有效,但如果网站不存在,则代码超时并返回:

{
  "error": "socket hang up",
  "message": "ECONNRESET"
}

例如,如果将URL设置为不存在的域,则会收到此错误。我该如何修复代码,以便在无法访问网站的情况下返回const failure,我认为response.end(failureString);可以工作,但不能。

0 个答案:

没有答案