HTTP پراکسی ایجنٹ کے ذریعے Node کے ws کلائنٹ کو جوڑیں
Node کے ws کنسٹرکٹر کو HttpsProxyAgent دیں تاکہ WebSocket ہینڈ شیک فارورڈ پراکسی سے گزرے۔
Node کا ws پیکیج اپنے کنکشن اختیارات میں HTTP ایجنٹ قبول کرتا ہے۔ فارورڈ پراکسی کے لیے ES ماڈیول کا ایک حصہ HttpsProxyAgent استعمال کر سکتا ہے:
import WebSocket from 'ws';
import { HttpsProxyAgent } from 'https-proxy-agent';
const agent = new HttpsProxyAgent('http://proxy.example.net:8080');
const socket = new WebSocket('wss://socket.example.net/events', {
agent,
});
socket.on('error', error => {
console.error(error.message);
});
یہ فرض کرتا ہے کہ دونوں پیکیج پہلے سے ایپلیکیشن کا حصہ ہیں۔ WebSocket URL سروس منتخب کرتا ہے اور ایجنٹ URL پراکسی۔ HTTP پراکسی فہرست سے کوئی HTTP پتہ پراکسی اسناد کے بغیر اجازت شدہ عوامی WSS ٹیسٹ کے لیے ایجنٹ URL بھر سکتا ہے؛ سروس کے اصل اینڈ پوائنٹ تک رسائی جانچیں۔
HttpsProxyAgent HTTP CONNECT سرنگ بناتا ہے اور منسلک ٹرانسپورٹ کلائنٹ کو دیتا ہے۔ یہ WebSocket کنکشن اور HTTPS درخواستیں دونوں سپورٹ کرتا ہے، اس لیے ایپلیکیشن کو CONNECT تبادلہ خود بنانے کی ضرورت نہیں۔
ایپلیکیشن کی معمول کی open، message اور close ہینڈلنگ کے ساتھ جاری رکھیں۔ open ایونٹ منتخب کردہ راستے پر WebSocket ہینڈ شیک مکمل ہونے کی نشاندہی کرتا ہے؛ صرف JavaScript آبجیکٹ بنانا اسے مکمل نہیں کرتا۔