Gorilla WebSocket: د HTTP CONNECT لپاره Dialer.Proxy تنظیم کړئ
د بدیل TCP پتې د بشپړ پروکسي تونل په توګه د انګېرلو پر ځای، د HTTP forward proxy لپاره Dialer.Proxy تنظیم کړئ.
د 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 پروکسي لیست د proxyURL لپاره نوماندان وړاندې کوي.
د HTTP پروکسي ډایلر منځنی اړیکه پرانیزي او د منزل لپاره CONNECT لیږي. د wss لپاره، د WebSocket handshake دمخه د جوړ شوي تونل له لارې د منزل TLS تېرېږي.
NetDialContext د ټیټې کچې TCP اړیکه تنظیموي. یوازې د پروکسي پورټ ته اشاره کول CONNECT نه پلي کوي. کله چې Proxy هم ټاکل شوی وي، د شبکې ځانګړی callback له منځګړي سره نښلېږي، او د پروکسي پوړ خبرې اترې سمبالوي.
د منزل هوسټ نوم په wss URL کې وساتئ ترڅو د TLS معمول پېژندنه د پام وړ سرور لپاره پلي شي.