Ħares ir-risposti binarji tal-immaġni fi proxy Node.js
Għaddi korpi binarji minn proxy 'l quddiem ta' Node u żomm id-dekodifikazzjoni tat-test għal trasformazzjonijiet tat-test maħsuba.
const { pipeline } = require('node:stream');
pipeline(upstreamResponse, clientResponse, (error) => {
if (error) console.error('Proxy response failed:', error);
});
Uża dan il-mogħdija tal-korp wara l-għażla tal-mira, it-talba lejn l-oriġini u t-tħejjija tal-istat u l-intestaturi lejn il-klijent. In-nixxiegħat ta' Node normalment jagħtu Buffer; tiġborhomx f'sekwenza għall-immaġni jew kontenut binarju ieħor li ma jinbidilx.
pipeline jikkoordina l-kontropressjoni u jxerred il-fallimenti. Jista' jeqred id-destinazzjoni f'każ ta' żball, għalhekk tassumix li wara jista' jintbagħat risposta oħra ta' żball HTTP. Dan il-framment mhuwiex server proxy sħiħ.
Għall-bytes li jgħaddu, żomm il-metadata tar-rappreżentazzjoni rilevanti bħat-tip tal-midja u l-kodifikazzjoni tal-kontenut, u ħandel il-qasmiet speċifiċi għall-hop permezz tar-regoli tal-ibbundjar. Qabbel bytes gzip u intestaturi tar-risposta li jaqblu juri l-għażla bejn rappreżentazzjoni kkodifikata u dekodifikata.
Il-kitba mill-ġdid tal-HTML b'mod maħsub teħtieġ mogħdija oħra: agħraf it-tip tal-midja, ħandel il-kompressjoni u s-sett tal-karattri, ittrasforma t-test u iġġenera metadata għall-bytes il-ġodda. Il-Content-Length antik ma jistax jiddeskrivi korp mibdul.
Buffer.concat jista' jħares kontenut binarju meta jkun meħtieġ buffering sħiħ, iżda jaħżen il-korp kollu fil-memorja. Nixxiegħa ta' immaġni li tgħaddi m'għandhiex bżonn dak l-ispiża.