Die Node-pakket ws aanvaar 'n HTTP-agent in sy verbindingsopsies. Vir 'n vooruitproxy kan 'n ES-modulefragment HttpsProxyAgent gebruik:

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

Dit veronderstel dat albei pakkette reeds deel van die toepassing is. Die WebSocket-URL kies die diens; die agent-URL kies die proxy. 'n HTTP-adres uit die HTTP-proxylys kan die agent-URL vul vir 'n toegelate openbare WSS-toets sonder proxybewyse; kontroleer toegang tot die werklike diens-eindpunt.

HttpsProxyAgent vestig 'n HTTP CONNECT-tonnel en gee die gekoppelde vervoer aan die kliënt. Dit ondersteun WebSocket-verbindings sowel as HTTPS-versoeke, so die toepassing hoef nie self die CONNECT-uitruiling te bou nie.

Gaan voort met die toepassing se gewone hantering van open, message en close. Die open-gebeurtenis dui op die voltooiing van die WebSocket-handskud op die gekose roete; bloot die skep van die JavaScript-objek het dit nie voltooi nie.

Verwante artikels