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 مکمل بفرنگ کی ضرورت ہونے پر بائنری مواد محفوظ رکھ سکتا ہے، لیکن پوری باڈی میموری میں رکھتا ہے۔ گزرتی تصویر کی اسٹریم کو یہ لاگت درکار نہیں۔

متعلقہ مضامین