Node.js ۋاكالەتچىسىدە بىنارلىق رەسىم ئىنكاسلىرىنى ساقلاڭ
بىنارلىق گەۋدىلەرنى Node ئالدىنقى ۋاكالەتچىسى ئارقىلىق ئاققۇزۇڭ ۋە تېكىست كودلىنىشىنى پەقەت قەستەن قىلىنغان تېكىست ئۆزگەرتىشلەرگە قالدۇرۇڭ.
const { pipeline } = require('node:stream');
pipeline(upstreamResponse, clientResponse, (error) => {
if (error) console.error('Proxy response failed:', error);
});
بۇ گەۋدە يولىنى نىشان تاللاش، يۇقىرى ئېقىم تەلەپى ۋە تۆۋەن ئېقىم ھالىتى بىلەن تېما ئۇچۇرلىرىنى تەييارلىغاندىن كېيىن ئىشلىتىڭ. Node ئاقىملىرى ئادەتتە Buffer بېرىدۇ؛ ئۇلارنى رەسىم ياكى ئۆزگەرمەيدىغان باشقا بىنارلىق مەزمۇن ئۈچۈن تىزىقچە قىلىپ توپلىماڭ.
pipeline كەينىگە بېسىمنى ماسلاشتۇرىدۇ ۋە مەغلۇبىيەتلەرنى تارقىتىدۇ. خاتالىق بولغاندا نىشاننى بۇزۇۋېتىشى مۇمكىن، شۇڭا ئۇنىڭدىن كېيىن يەنە بىر HTTP خاتالىق ئىنكاسى ئەۋەتكىلى بولىدۇ دەپ ئويلىماڭ. بۇ پارچە تولۇق ۋاكالەتچى مۇلازىمېتىر ئەمەس.
ئۆتۈۋاتقان بايتلار ئۈچۈن مېدىيا تۈرى ۋە مەزمۇن كودلىنىشىدەك مۇناسىۋەتلىك ئىپادىلەش مېتا سانلىق مەلۇماتلىرىنى ساقلاڭ، ھەمدە ھوپقا خاس دائىرىلەرنى ئەۋەتىش قائىدىلىرى ئارقىلىق بىر تەرەپ قىلىڭ. gzip بايتلىرى بىلەن ماس ئىنكاس تېمىلىرىنىڭ سېلىشتۇرۇلۇشى كودلانغان ۋە كودى يېشىلغان ئىپادىلەش ئارىسىدىكى تاللاشنى كۆرسىتىدۇ.
HTML نى قەستەن قايتا يېزىش باشقا يول تەلەپ قىلىدۇ: مېدىيا تۈرىنى تونۇڭ، سىقىش ۋە ھەرپ توپلىمىنى بىر تەرەپ قىلىڭ، تېكىستنى ئۆزگەرتىڭ ۋە يېڭى بايتلار ئۈچۈن مېتا سانلىق مەلۇمات ياساڭ. كونا Content-Length ئۆزگەرگەن گەۋدىنى تەسۋىرلىيەلمەيدۇ.
Buffer.concat تولۇق بۇفېرلاش زۆرۈر بولغاندا بىنارلىق مەزمۇننى ساقلىيالايدۇ، ئەمما پۈتۈن گەۋدىنى ئەستە ساقلايدۇ. ئۆتۈۋاتقان رەسىم ئاقىمىغا بۇ چىقىم زۆرۈر ئەمەس.