Среда: nodeJS, nginx
Описание проблемы: У меня есть внешняя служба REST, которая возвращает данные документа.Он работает правильно и возвращает данные следующим образом:
Рисунок: основной сервис REST генерирует данные документа
Моя цель - создать прокси-узел nodeJS для этого рабочего сервиса, чтобы пользователь могне могу напрямую подключиться к основному сервису.Я написал небольшую функцию для получения / загрузки запроса в моем приложении и необходимые параметры, чтобы я мог вызвать основную службу внутри приложения nodeJS и начать загрузку сгенерированного документа.
app.get('/download', function(req, res){
var reqPostFix = '';
if (req.query.seq)
{
reqPostFix = '/file/' + req.query.seq;
}
request(baseSevice2 + 'container/' + req.query.doc + '/download' + reqPostFix, function(error, response, body) {
if (!error && response.statusCode == 200) {
res.setHeader('Content-Disposition', response.headers['content-disposition']);
res.setHeader('Content-Type', response.headers['content-type']);
res.write(response.body);
res.end();
}
else {
res.send(error);
}
})
});
В результате этого кода я получаю ответ, которыйнемного отличается от того же ответа, если я вызываю основную службу - если быть точным, есть некоторые пробелы, которые отчетливо видны в почтальоне:
Изображение: Разница между вызовом основной службы и вызовом одной и той же службы с помощью прокси-приложения nodeJS
В результате сгенерированный файл неверен, и в моем случае это текстовый документ, который открывается с поврежденным сообщением.Что я упустил из виду, что хочу получить абсолютно такой же ответ от прокси-вызова по сравнению с основным ответом службы REST?