Glèidh freagairtean ìomhaigh binary ann an proxy Node.js
Sruth cuirp binary tro proxy Node agus cùm dì-chòdachadh teacsa airson atharrachaidhean teacsa a dh'aona ghnothaich.
const { pipeline } = require('node:stream');
pipeline(upstreamResponse, clientResponse, (error) => {
if (error) console.error('Proxy response failed:', error);
});
Cleachd an t-slighe cuirp seo an dèidh taghadh targaid, an t-iarrtas chun an tùis agus ullachadh inbhe is cinn-naidheachd don neach-dèiligidh. Mar is trice bheir sruthan Node Buffer; na cruinnich iad ann an sreang airson ìomhaighean no susbaint binary eile nach eil ag atharrachadh.
Bidh pipeline a' co-òrdanachadh frith-bhrùthaidh agus a' sgaoileadh fàilligheadh. Dh'fhaodadh e an ceann-uidhe a sgrios air mearachd, mar sin na bi a' smaoineachadh gun gabh freagairt mearachd HTTP eile a chur às a dhèidh. Chan e seo frithealaiche proxy slàn.
Airson bytes a tha a' dol troimhe, glèidh meata-dàta riochdachaidh iomchaidh leithid seòrsa meadhan agus còdachadh susbainte, agus làimhsich raointean a tha sònraichte do gach leum tro riaghailtean cur air adhart. Tha coimeas eadar bytes gzip agus cinn-fhreagairt cho-ionann a' sealltainn an roghainn eadar riochdachadh còdaichte is dì-chòdaichte.
Feumaidh ath-sgrìobhadh HTML a dh'aona ghnothaich slighe eile: aithnich a sheòrsa meadhan, làimhsich teannachadh agus seata charactaran, atharraich an teacsa agus gin meata-dàta airson nam bytes ùra. Chan urrainn don t-seann Content-Length cunntas a thoirt air corp a dh'atharraich.
Faodaidh Buffer.concat susbaint binary a ghlèidheadh nuair a tha feum air bufadh slàn, ach stòraichidh e an corp gu lèir sa chuimhne. Chan fheum sruth ìomhaigh a tha a' dol troimhe a' chosgais sin.