const { pipeline } = require('node:stream');

pipeline(upstreamResponse, clientResponse, (error) => {
  if (error) console.error('Proxy response failed:', error);
});

دا د بدن لار د هدف له ټاکلو، پورته بهیر غوښتنې او ښکته بهیر حالت او سرلیکونو چمتو کولو وروسته وکاروئ. Node بهیرونه معمولاً Buffer ورکوي؛ د انځورونو یا نورو نه بدلېدونکي باینري منځپانګې لپاره یې په تار کې مه غونډوئ.

pipeline د شاتګ فشار همغږي کوي او ناکامي خپروي. د تېروتنې پر مهال کېدای شي منزل له منځه یوسي، نو مه انګېرئ چې له هغې وروسته بل HTTP تېروتنې ځواب لېږل کېدای شي. دا ټوټه بشپړ پروکسي سرور نه دی.

د تېرېدونکو بایټونو لپاره، د استازیتوب اړوند مېټاډاټا لکه د رسنۍ ډول او د منځپانګې کوډ کول وساتئ، او د هر ټوپ ځانګړي ډګرونه د لېږلو قواعدو له لارې اداره کړئ. د gzip بایټونو او سمونکي ځواب سرلیکونو پرتله د کوډ شوي او ډیکوډ شوي استازیتوب ترمنځ ټاکنه ښیي.

د HTML پوهاوی سره بیا لیکل بله لار غواړي: د رسنۍ ډول وپېژنئ، فشار او د تورو ټولګه اداره کړئ، متن بدل کړئ او د نویو بایټونو لپاره مېټاډاټا جوړه کړئ. زوړ Content-Length نشي کولی بدل شوی بدن بیان کړي.

Buffer.concat کولای شي باینري منځپانګه وساتي کله چې بشپړ بفر اړین وي، خو ټول بدن په حافظه کې ساتي. تېرېدونکې انځور بهیر دې لګښت ته اړتیا نه لري.

اړوندې مقالې