Qabbad il-klijent ws ta' Node permezz ta' aġent HTTP proxy
Għaddi HttpsProxyAgent lill-kostruttur ws ta' Node biex il-handshake WebSocket jgħaddi mill-proxy forward.
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.