HTTP फर्वार्ड प्रोक्सीका लागि 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 endpoint का लागि, HTTP प्रोक्सी सूची ले proxyURL का लागि उम्मेदवार दिन्छ।

HTTP प्रोक्सी डायलरले मध्यस्थ जडान खोल्छ र गन्तव्यका लागि CONNECT पठाउँछ। wss का लागि, WebSocket handshake अघि स्थापित टनेलबाट गन्तव्यको TLS जान्छ।

NetDialContext ले तल्लो तहको TCP जडान अनुकूलन गर्छ। यसलाई मात्र प्रोक्सी पोर्टतर्फ देखाउँदा CONNECT लागू हुँदैन। Proxy पनि सेट भएमा, अनुकूलित नेटवर्क callback ले मध्यस्थसँग जोडिन्छ, जबकि प्रोक्सी तहले वार्ता सम्हाल्छ।

wss URL मा गन्तव्यको होस्टनाम राख्नुहोस् ताकि सामान्य TLS पहिचान जाँच इच्छित सर्भरमा लागू होस्।

सम्बन्धित लेखहरू