我在GAE灵活环境中运行节点快速服务器。除了其他事项之外,我的一个端点路由应该向某些用户发送推送通知。我不希望请求用户在继续/获得响应之前等待外部Pushwoosh推送API响应,所以我在我的初始请求/响应promise链之外的单独函数中调用以下代码。因此,当此代码将异步请求发送到Pushwoosh时,我的用户请求 - 响应承诺链将自行继续关闭,并使远程API调用自行完成。
我已在本地测试了此代码运行节点,它运行正常。当我将这个完全相同的代码部署到GAE时,由于某种原因从未发送Pushwoosh请求。我看不到任何没有响应或错误的console.log。我已经确认所有请求数据都是正确的。
导致此请求未被发送的原因是什么?节点版本为6.9.4。
var https = require('https');
var headers = {
'Content-Type': 'application/json; charset=utf-8'
};
var options = {
host: 'cp.pushwoosh.com',
port: 443,
path: '/json/1.3/createMessage',
method: 'POST',
headers: headers
};
var message = {
request: {
application: process.env.PUSHWOOSH_APP_ID,
auth: process.env.PUSHWOOSH_REST_API_KEY,
notifications: [{
send_date: 'now',
ignore_user_timezone: true,
content: 'test',
ios_badges:'+1',
android_badges:'+1',
android_priority: 2,
android_vibration: 1,
data:{
key: 'value'
}
}]
}
};
var req = https.request(options, function(res) {
res.on('data', function(data) {
console.log('Response:');
console.log(JSON.parse(data));
});
});
req.on('error', function(e) {
console.log('Error:');
console.log(e);
});
req.write(JSON.stringify(message));
req.end();