Node ၏ ws client ကို HTTP proxy agent မှတစ်ဆင့် ချိတ်ဆက်ခြင်း
HttpsProxyAgent ကို Node ws constructor သို့ ပေးပြီး WebSocket handshake ကို forward proxy မှတစ်ဆင့် ဖြတ်သန်းပါစေ။
Node ၏ ws package သည် ၎င်း၏ ချိတ်ဆက်မှု ရွေးချယ်စရာများတွင် HTTP agent ကို လက်ခံသည်။ forward proxy အတွက် ES module အပိုင်းတစ်ခုသည် 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);
});
ဤအချက်သည် package နှစ်ခုစလုံး application ၏ အစိတ်အပိုင်းဖြစ်ပြီဟု ယူဆသည်။ WebSocket URL သည် ဝန်ဆောင်မှုကို ရွေးချယ်ပြီး agent URL သည် proxy ကို ရွေးချယ်သည်။ HTTP proxy စာရင်းမှ HTTP လိပ်စာတစ်ခုသည် proxy အထောက်အထားမပါဘဲ ခွင့်ပြုထားသော အများသုံး WSS စမ်းသပ်မှုအတွက် agent URL ကို ဖြည့်နိုင်သည်။ ဝန်ဆောင်မှု၏ အမှန်တကယ် endpoint သို့ ဝင်ရောက်နိုင်မှုကို စစ်ဆေးပါ။
HttpsProxyAgent သည် HTTP CONNECT ဥမင်ကို တည်ဆောက်ပြီး ချိတ်ဆက်ထားသော transport ကို client သို့ ပေးအပ်သည်။ ၎င်းသည် WebSocket ချိတ်ဆက်မှုများနှင့် HTTPS တောင်းဆိုမှုများကို ပံ့ပိုးသည်၊ ထို့ကြောင့် application သည် CONNECT ဖလှယ်မှုကို ကိုယ်တိုင် တည်ဆောက်ရန် မလိုအပ်ပါ။
application ၏ ပုံမှန် open၊ message နှင့် close ကိုင်တွယ်မှုကို ဆက်လုပ်ပါ။ open event သည် ရွေးချယ်ထားသော လမ်းကြောင်းတွင် WebSocket handshake ပြီးစီးကြောင်း ဖော်ပြသည်။ JavaScript object ကို ဖန်တီးရုံဖြင့် ၎င်းကို မပြီးစီးစေပါ။