【发布时间】:2017-07-27 10:51:39
【问题描述】:
我正在尝试使用节点(express、https 模块)在高层次上执行以下操作:
- 在 /example 端点(快速应用)上监听 POST 请求(比如 R1)
- 从请求中读取 post 有效负载,对其进行重新打包,然后向外部 REST API 发出 https POST 请求(例如 R11)。
- 从对 R11 的响应中读取 post 有效负载,对其进行重新打包并作为响应发送给 R1。
问题是,如何从 callbackExternalApi 中发送响应?请参阅下面的代码和 cmets 中的问题。
const callbackExternalApi =
function (response) {
response.on('data',
function(data) {
// do some processing on data
var processedData = ...
**// I want response_R1 over here
// so that I can do the following
response_R1.send(processedData)
// how do I get response_R1 over here??**
})
}
const requestHandlerExample =
function (request_R1, response_R1) {
// payload
var postBodyJson = '' // some payload here
// headers
var postHeaders = {
'content-type' : 'application/json',
'accept' : 'application/json'
}
// options
var postOptions = {
'host' : 'localhost',
'port' : '9000',
'path' : '/external/rest/api',
'method' : 'POST',
'headers' : postHeaders
}
// do the post call
var postRequest = _httpsModule.request(postOptions, callbackExternalApi)
postRequest.write(postBodyJson);
postRequest.end();
postRequest.on('error', function(error) {
console.error('an error occured'+error)
})
}
_app.post('/example', requestHandlerExample)
谢谢,
贾丁
【问题讨论】: