Gorilla WebSocket: rèitich Dialer.Proxy airson HTTP CONNECT
Rèitich Dialer.Proxy airson proxy HTTP air adhart an àite a bhith a' làimhseachadh seòladh TCP eile mar thunail proxy coileanta.
Airson proxy HTTP air adhart, rèitich Dialer.Proxy Gorilla. Tha an URL WebSocket fhathast na cheann-uidhe:
proxyURL, err := url.Parse("http://proxy.example:8080")
if err != nil {
return err
}
dialer := websocket.Dialer{
Proxy: http.ProxyURL(proxyURL),
HandshakeTimeout: 15 * time.Second,
}
conn, response, err := dialer.DialContext(
ctx, "wss://events.example/stream", nil)
Buinidh am pìos seo do ghnìomh ceangail na h-aplacaid, le net/url, net/http, time agus github.com/gorilla/websocket rim faighinn. Làimhsich err agus freagairt handshake sam bith a dh'fhàillig, an uairsin stiùir conn tron chuairt-beatha àbhaisteach de theachdaireachdan is dùnadh. Airson ceann-uidhe WSS poblach ceadaichte, bheir liosta proxy HTTP tagraichean airson proxyURL.
Fosglaids an dialer proxy HTTP an ceangal eadar-mheadhanach agus cuiridh e CONNECT dhan cheann-uidhe. Airson wss, thèid TLS a' chinn-uidhe tron tunail a chaidh a stèidheachadh ro handshake WebSocket.
Nì NetDialContext gnàthachadh air a' cheangal TCP aig ìre nas ìsle. Chan eil a bhith ga chomharrachadh gu port proxy a-mhàin a' cur CONNECT an gnìomh. Nuair a tha Proxy cuideachd air a shuidheachadh, nì an callback lìonra gnàthaichte feum air an eadar-mheadhanair, fhad 's a tha an ìre proxy a' làimhseachadh an co-rèiteachaidh.
Cum ainm-aoigheachd a' chinn-uidhe anns an URL wss gus am bi an sgrùdadh dearbh-aithne TLS àbhaisteach a' buntainn ris an fhrithealaiche a thathar an dùil.