Säilita binaarsed pildivastused Node.js-proksis
Edasta binaarseid kehi Node'i edasisaatmise proksi kaudu ja jäta teksti dekodeerimine ainult teadlikeks tekstimuudatusteks.
const { pipeline } = require('node:stream');
pipeline(upstreamResponse, clientResponse, (error) => {
if (error) console.error('Proxy response failed:', error);
});
Kasuta seda keha teed pärast sihtmärgi valimist, ülesvoolu päringut ning allavoolu oleku ja päiste ettevalmistamist. Node'i vood annavad tavaliselt Buffer-objekte; ära kogu neid stringi piltide ega muu muutumatu binaarse sisu jaoks.
pipeline koordineerib vastusurvet ja levitab tõrkeid. Vea korral võib see sihtkoha hävitada, seega ära eelda, et pärast seda saab saata veel ühe HTTP-veavastuse. See katkend ei ole täielik proksiserver.
Läbivate baitide puhul säilita asjakohased esituse metaandmed, nagu meediatüüp ja sisu kodeering, ning käsitle hüpikspetsiifilisi välju edasisaatmisreeglitega. Võrdlus gzip-baitide ja vastavate vastusepäistega näitab valikut kodeeritud ja dekodeeritud esituse vahel.
Teadlik HTML-i ümberkirjutamine vajab teist teed: tuvasta meediatüüp, käsitle tihendamist ja märgistikku, teisenda tekst ja genereeri metaandmed uute baitide jaoks. Vana Content-Length ei suuda kirjeldada muudetud keha.
Buffer.concat suudab binaarset sisu säilitada, kui on vaja täielikku puhverdust, kuid hoiab kogu keha mälus. Läbiv pildivoog ei vaja seda kulu.