Paket ws Node menerima agen HTTP pada opsi koneksinya. Untuk proxy penerusan, fragmen modul ES dapat memakai 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);
});

Ini mengasumsikan kedua paket sudah menjadi bagian dari aplikasi. URL WebSocket memilih layanan; URL agen memilih proxy. Alamat HTTP dari daftar proxy HTTP dapat mengisi URL agen untuk uji WSS publik yang diizinkan tanpa kredensial proxy; periksa akses ke titik akhir layanan yang sebenarnya.

HttpsProxyAgent membuat terowongan HTTP CONNECT dan menyerahkan transport yang terhubung ke klien. Ia mendukung koneksi WebSocket maupun permintaan HTTPS, jadi aplikasi tidak perlu membangun pertukaran CONNECT sendiri.

Lanjutkan dengan penanganan open, message, dan close yang biasa di aplikasi. Peristiwa open menandai selesainya handshake WebSocket pada rute yang dipilih; membuat objek JavaScript saja belum menyelesaikannya.

Artikel terkait