HTTP forward proxy සඳහා Gorilla හි Dialer.Proxy වින්‍යාස කරන්න. WebSocket URL ගමනාන්තය ලෙසම පවතී:

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)

මෙම කොටස යෙදුමේ සම්බන්ධතා ශ්‍රිතයේ ඇති අතර net/url, net/http, time සහ github.com/gorilla/websocket ලබා ගත හැක. err සහ අසාර්ථක handshake ප්‍රතිචාරය හසුරුවා, පසුව සාමාන්‍ය පණිවිඩ සහ වැසීමේ ජීවන චක්‍රය හරහා conn කළමනාකරණය කරන්න. අවසර ලත් පොදු WSS අන්ත ලක්ෂ්‍යයක් සඳහා HTTP proxy ලැයිස්තුව proxyURL සඳහා අපේක්ෂකයින් සපයයි.

HTTP proxy dialer මැදිහත් සම්බන්ධතාවය විවෘත කර ගමනාන්තය සඳහා CONNECT යවයි. wss සඳහා, WebSocket handshake ට පෙර ස්ථාපිත උමඟ හරහා ගමනාන්ත TLS ගමන් කරයි.

NetDialContext පහළ මට්ටමේ TCP සම්බන්ධතාවය අභිරුචිකරණය කරයි. එය proxy තොටුපොළට පමණක් යොමු කිරීම CONNECT ක්‍රියාත්මක නොකරයි. Proxy ද සකසා ඇත්නම්, අභිරුචි ජාල callback මැදිහත්කරු සමඟ සම්බන්ධ වන අතර proxy ස්තරය සාකච්ඡා හසුරුවයි.

wss URL හි ගමනාන්ත සත්කාරක නාමය තබා ගන්න, එවිට සාමාන්‍ය TLS අනන්‍යතා පරීක්ෂාව අදහස් කළ සේවාදායකයට අදාළ වේ.

අදාළ ලිපි