Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

246
Views
How to forward a node request using axios?

In my express.js server I am doing this to forward a request to another server

async handleRequest(req, res) {
    const serverUrl = "http://localhost:4000"

    await req.pipe(request({ url: serverUrl + req.url })).pipe(res);
}

This is working as expected. But I have decided to use axios or got library instead of request since request is no longer maintained. But something like this is not working -

req.pipe(axios({url: serverUrl + req.url})).pipe(res);

I am getting error

(node:88124) UnhandledPromiseRejectionWarning: TypeError: dest.on is not a function
    at IncomingMessage.Readable.pipe (internal/streams/readable.js:671:8)

How can I fix this? I want to forward the request as it is without making any changes in the request object.

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

You need to use responseType parameter with value stream so axios give you the option to pipe your response data as a stream by:

axiosResponse.data.pipe(destination); // where destination can be a file or another stream

Also, in fact there is no need to do await req.pipe because axios will stream the response into your express response (res) object

hence is the full answer:

  const axiosResponse = await axios({
    url: serverUrl + req.url,
    responseType: 'stream'
  })

  axiosResponse.data.pipe(res)
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!