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

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

Benotz dëse Kierperwee no der Zilauswiel, der Ufro un d'Quell an der Virbereedung vum Status an den Headeren zum Client. Node-Streams liwweren normalerweis Buffer; sammel se net an engem String fir Biller oder aner onverännert binär Inhalter.

pipeline koordinéiert Géigendrock a verbreet Feeler. Et kann d'Zil bei engem Feeler zerstéieren, also gitt net dovun aus, datt duerno nach eng aner HTTP-Feeleräntwert geschéckt ka ginn. Dëst Fragment ass keen vollstännege Proxyserver.

Fir duerchgeloosse Bytes behält relevant Metadaten vun der Representatioun wéi Medientyp an Inhaltcodéierung, a behandelt hopspezifesch Felder iwwer Weiderleitungsregelen. Eng Vergläichung vun gzip-Bytes an passenden Äntwertheaderen weist d'Wiel tëscht codéierter an decodéierter Representatioun.

Bewosst HTML ëmschreiwen brauch en anere Wee: den Medientyp erkennen, Kompressioun a Charakterset behandelen, den Text transforméieren an Metadaten fir déi nei Bytes generéieren. Dat al Content-Length kann en verännerte Kierper net beschreiwen.

Buffer.concat kann binär Inhalt erhalen, wann vollstännegt Pufferen néideg ass, awer späichert de ganze Kierper am Gedächtnis. En duerchgeloossene Bildstream brauch déi Käschten net.

Ähnlech Artikelen