Nodejs http请求未被点击

时间:2016-02-12 16:41:16

标签: node.js post aws-lambda

我正在使用AWS Lambda函数,并且在其中有一个函数一直没有问题,直到最近我更改了函数中不相关的东西,并且已经删除了该函数仍然无效的更改。

目前它点击了doPost函数,记录了第一行,然后函数总是超时(我试过给它更多的时间,它仍然超时,它被卡在某处)。

我已重命名post_req.write以获取错误并且有效,所以我知道它正试图发布帖子。我已经把它发布到的网址搞砸了,并且在那里也出现了错误,所以我知道它实际上正在通过..但它拒绝在此时记录任何响应。

非常感谢任何帮助。

编辑:事实证明这里的代码没有任何问题,问题是API如何处理某种类型的错误请求。

function doPost(request, callback) {
    console.log('gets to doPost func');
    var req = {
        "accessKey": request.accessKey,
        "templateName": request.templateName,
        "outputName": request.outputName,
        "data": request.data
    };

    // Build the post string from an object
    var post_data = JSON.stringify(req);

    // An object of options to indicate where to post to
    var post_options = {
        host: 'dws2.docmosis.com',
        port: '443',
        path: '/services/rs/render',
        method: 'POST',
        headers: {
            'Content-Type': 'application/json',
            'Content-Length': Buffer.byteLength(post_data)
        }
    };

    // Set up the request
    var post_req = https.request(post_options, function(res) {
        console.log('RES:' + res);
        res.on('data', function(chunk){ console.log('data'); body = Buffer.concat([body, chunk]); });
        res.on('error', function(e) { console.log('err: ' + e); });
        res.on('end', function() {
            if (res.statusCode == 200) { callback(req); }
            else { console.log('status err: ' + res.statusCode); }
        });
    });

    // post the data
    post_req.write(post_data);
    post_req.end();
}

0 个答案:

没有答案