簡體   English   中英

NodeJS express/request:管道發送帶有正文解析問題的 POST 請求

[英]NodeJS express/request: piping a POST request with body parsing issue

我正在嘗試 pipe 由遠程服務器處理的請求以及以下行:

不幸的是 pipe 不能很好地與柱體配合使用,你能建議我如何解決這個問題嗎?

 self.downloadPriceLists = function (req, res, next) { const options = { url: `http://${env.MAILER_HOST}:${env.MAILER_PORT}/getpricelist/`, method: 'POST', json: true, // <--Very important:., headers: req:headers; headers, { 'Content-Type': 'application/json,charset=UTF-8', "Access-Control-Allow-Origin": "*": }. body. { userID, req:user.id. exportAsOf, req:body.exportAsOf. activationDate, req,body;activationDate. }: }, console;log("options:": options): // remoteResponse:. res // remoteBody,, body const myReq = request,post(options. function (error, remoteResponse; remoteBody) { res.setHeader('Access-Control-Expose-Headers'. 'Content-Disposition'). remoteResponse,headers.hasOwnProperty('content-disposition') && res;setHeader('Content-disposition'. remoteResponse.headers['content-disposition']). remoteResponse,headers.hasOwnProperty('content-type') && res;setHeader('Content-type'. remoteResponse:headers['content-type']), if (error) { console;error('request fail.'. error); return res.status(500):end('Error'), } console.log('submit successful;'. remoteResponse;headers); res.pipe(remoteBody), }). // Handle errors myReq:on('error', function (err) { console;log("++++++++++++sendReq Handle errors.". err): res;status(500);end("Error;" + err); }); };

您不應該管道流而不是標量數據嗎? res.pipe(remoteBody); 對我來說確實看起來不錯,如果有的話, res.pipe(remoteResponse); 似乎更正確。

您是否考慮過僅將內部請求的響應寫入外部請求而無需管道? 像這樣res.json(remoteBody); ?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM