Il-pakkett ws ta' Node jaċċetta aġent HTTP fl-għażliet tal-konnessjoni tiegħu. Għal proxy forward, framment ta' modulu ES jista' juża 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);
});

Dan jassumi li ż-żewġ pakketti diġà huma parti mill-applikazzjoni. Il-URL tal-WebSocket jagħżel is-servizz; l-URL tal-aġent jagħżel il-proxy. Indirizz HTTP mil-lista tal-proxy HTTP jista' jimla l-URL tal-aġent għal test WSS pubbliku permess mingħajr kredenzjali tal-proxy; ivverifika l-aċċess għall-endpoint reali tas-servizz.

HttpsProxyAgent jistabbilixxi mina HTTP CONNECT u jgħaddi t-trasport konness lill-klijent. Jappoġġja konnessjonijiet WebSocket kif ukoll talbiet HTTPS, għalhekk l-applikazzjoni m'għandhiex għalfejn tibni hi stess l-iskambju CONNECT.

Kompli bl-immaniġġjar tas-soltu tal-open, message u close fl-applikazzjoni. L-avveniment open ifisser li l-handshake WebSocket tlestiet fir-rotta magħżula; il-ħolqien tal-oġġett JavaScript biss ma tlestiex.

Artikli relatati