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 සම්පූර්ණ බෆර් කිරීම අවශ්ය විට ද්විමය අන්තර්ගතය රඳවා ගත හැක, නමුත් මුළු පණිවිඩයම මතකයේ තබා ගනී. ගමන් කරන රූප ප්රවාහයට එම වියදම අවශ්ය නොවේ.