HTTP forward ப்ராக்ஸிக்கு, 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 அடையாளச் சரிபார்ப்பு நோக்கமான சேவையகத்திற்குப் பொருந்தும்.

தொடர்புடைய கட்டுரைகள்