Varðveit binarar myndasvar í Node.js-proxy
Streyma binarum likamum gjøgnum Node-forward-proxy og goym tekst avkoding til viljandi tekstbroytingar.
const { pipeline } = require('node:stream');
pipeline(upstreamResponse, clientResponse, (error) => {
if (error) console.error('Proxy response failed:', error);
});
Brúka henda likamsleðin eftir val av máli, fyrispurning til uppstreym og fyrireiking av støðu og høvdum niðurstreyms. Node-streymar geva vanliga Buffers; savna tey ikki í ein streng fyri myndir ella annað óbroytt binaramt innihald.
pipeline samskipar mótstoyt og ber út feilir. Tað kann oyðileggja málið við feili, so ikki rokna við, at ein onnur HTTP-feilssvar kann sendast eftir tað. Hetta brotið er ikki fullur proxy-tænari.
Fyri byte, sum fara gjøgnum, varðveit viðkomandi metadáta um framseting, so sum miðilsslag og innihaldsavkoding, og viðgerð hop-serlig øki við framsendingarreglum. Ein samanbering av gzip-byte og samsvarandi svarhøvdum vísir valið millum avkodaða og óavkodaða framseting.
Viljandi endurskriving av HTML krevur aðra leið: kenn miðilsslagið, viðgerð trýsting og teknsett, broyta tekstin og gera metadáta fyri tey nýggju bytin. Gamla Content-Length kann ikki lýsa ein broyttan likama.
Buffer.concat kann varðveita binaramt innihald, tá full buffering er neyðug, men goymir allan likaman í minni. Ein myndastreymur, sum fer gjøgnum, hevur ikki tørv á hesum kostnaði.