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

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

Përdorni këtë rrugë të trupit pas zgjedhjes së objektivit, kërkesës drejt burimit dhe përgatitjes së statusit dhe kokave drejt klientit. Rrjedhat Node zakonisht japin Buffer; mos i grumbulloni në një varg për imazhe ose përmbajtje tjetër binare të pandryshuar.

pipeline koordinon kundërpresionin dhe përhap dështimet. Në rast gabimi mund të shkatërrojë destinacionin, prandaj mos supozoni se pas kësaj mund të dërgohet një përgjigje tjetër gabimi HTTP. Ky fragment nuk është server proxy i plotë.

Për bajtët që kalojnë, ruani metadatat përkatëse të paraqitjes si lloji i medias dhe kodimi i përmbajtjes, dhe trajtoni fushat specifike të hopit përmes rregullave të përcjelljes. Krahasimi i bajtëve gzip dhe kokave përkatëse të përgjigjes tregon zgjedhjen midis paraqitjes së koduuar dhe të dekoduar.

Rishkrimi i qëllimshëm i HTML kërkon një rrugë tjetër: njihni llojin e medias, trajtoni kompresimin dhe grupin e karaktereve, transformoni tekstin dhe gjeneroni metadata për bajtët e rinj. Content-Length i vjetër nuk mund të përshkruajë një trup të ndryshuar.

Buffer.concat mund të ruajë përmbajtje binare kur kërkohet buferim i plotë, por ruan të gjithë trupin në memorie. Një rrjedhë imazhi që kalon nuk ka nevojë për atë kosto.

Artikuj të ngjashëm