const { pipeline } = require('node:stream');

pipeline(upstreamResponse, clientResponse, (error) => {
  if (error) console.error('Proxy response failed:', error);
});

ይህን የአካል መንገድ ከዒላማ ምርጫ፣ ከወደላይ ጥያቄ እና ከታች የሁኔታና የራስጌ ዝግጅት በኋላ ተጠቀም። የNode ተርታዎች በተለምዶ Buffers ያቀርባሉ፤ ለምስሎች ወይም ለማይለወጡ ሌሎች ሁለትዮሽ ይዘቶች ወደ ጽሑፍ አትሰብስባቸው።

pipeline የጀርባ ግፊትን ያስተባብራል እና ውድቀቶችን ያሰራጫል። በስህተት ጊዜ መዳረሻውን ሊያጠፋ ይችላል፣ ስለዚህ ከዚያ በኋላ ሌላ የHTTP ስህተት ምላሽ መላክ ይቻላል ብለህ አታስብ። ይህ ክፍል ሙሉ ፕሮክሲ አገልጋይ አይደለም።

ለሚያልፉ ባይቶች፣ እንደ ሚዲያ ዓይነት እና የይዘት ኢንኮዲንግ ያሉ ተገቢ የውክልና ሜታዳታዎችን ጠብቅ፤ የሆፕ-ተኮር መስኮችን ደግሞ በማስተላለፊያ ደንቦች አስተናግድ። የgzip ባይቶችና ተዛማጅ የምላሽ ራስጌዎች ንጽጽር በኢንኮድ የተደረገና በዲኮድ የተደረገ ውክልና ምርጫን ያሳያል።

ሆን ብሎ የHTML ማሻሻያ ሌላ መንገድ ይፈልጋል፦ ሚዲያ ዓይነቱን እወቅ፣ መጭመቅንና የቁምፊ ስብስብን አስተናግድ፣ ጽሑፉን ቀይር እና ለአዲሶቹ ባይቶች ሜታዳታ ፍጠር። የቀድሞው Content-Length የተለወጠ አካልን ሊገልጽ አይችልም።

Buffer.concat ሙሉ ቋት ሲያስፈልግ ሁለትዮሽ ይዘትን መጠበቅ ይችላል፣ ግን መላውን አካል በማህደረ ትውስታ ያከማቻል። የሚያልፍ የምስል ተርታ ያንን ወጪ አይፈልግም።

ተዛማጅ ጽሑፎች