我开发了一个nodejs api来侦听http请求,然后添加一些标头值并将其转发到其他服务器中的另一个Restful服务。当响应返回时,我将不做任何修改就将相同的响应转发给请求者。因此该api基本上可以用作转发代理。
我使用下面的代码将响应转发给请求者,它返回数据,但是我们的响应之一包括附件(pdf文件),该附件将始终以空文件/损坏的形式接收给请求者。有人可以帮我解决这个问题吗?
app.use('/', function(req, res, next){
var request = require('request');
var url={{someurl}}
var option = {
method:req.method,
json:data,
headers:{
"Content-Type": "application/json",
"Cookie":result
};
};
request(URL, option, function (error, response, body) {
if (error) {
res.status("500").send(error);
res.end(err);
}else{
if (req.method=='GET'){
res.set(response.headers);
}
res.status(response.statusCode).send(body);
res.end(response);
}
})
});
答案 0 :(得分:0)
快递
const express = require('express');
let router = express.Router();
router.get('/{{someurl}}', (req,res)=>{
// do your work
res.send({{any response}});
});
答案 1 :(得分:0)
我找到了解决此问题的方法。在选项中,我必须添加编码:null,否则主体将转换为字符串。当正文转换为字符串时,文件将被破坏。