D'Pak ws vun Node hëlt en HTTP-Agent a sengen Uschlossoptiounen un. Fir en Forward-Proxy kann en ES-Modulfragment HttpsProxyAgent benotzen:

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);
});

Dëst setzt viraus, datt béid Päck schonn Deel vun der Applikatioun sinn. D'WebSocket-URL wielt den Déngscht, d'Agent-URL de Proxy. Eng HTTP-Adress aus der HTTP-Proxy-Lëscht kann d'Agent-URL fir en erlaabten ëffentlechen WSS-Test ouni Proxy-Umeldungsdaten fëllen; iwwerpréift den Zougang zum tatsächlechen Endpunkt vum Déngscht.

HttpsProxyAgent baut en HTTP-CONNECT-Tunnel op a gëtt den ugëschlossenen Transport un de Client. Et ënnerstëtzt WebSocket-Verbindungen esou wéi HTTPS-Ufroen, soudatt d'Applikatioun den CONNECT-Austausch net selwer muss opbauen.

Fuert mat der gewinnter Behandlung vun open, message an close an der Applikatioun weider. Den Evenement open weist d'Ofschloss vum WebSocket-Handshake op der gewielter Route un; just d'JavaScript-Objekt ze schafen huet en net ofgeschloss.

Ähnlech Artikelen