Go యొక్క CONNECT హెడర్లను Transport పై ఉంచండి
CONNECT సమయంలో అవసరమైన హెడర్ను గమ్యస్థాన అభ్యర్థనపై పెట్టకుండా HTTP ప్రాక్సీకి పంపండి.
http.Request.Header కు జోడించిన హెడర్ గమ్యస్థాన అభ్యర్థనను వివరిస్తుంది. HTTPS HTTP ప్రాక్సీని ఉపయోగించినప్పుడు, transport మొదట CONNECT చేస్తుంది. గమ్యస్థాన అభ్యర్థన హెడర్లు ఆ మునుపటి మార్పిడికి సాధారణ కాన్ఫిగరేషన్ API కాదు.
మీ ప్రాక్సీ కోరే స్థిర హెడర్ కోసం, transport యొక్క ProxyConnectHeader ను కాన్ఫిగర్ చేయండి:
transport := &http.Transport{
Proxy: http.ProxyURL(proxyURL),
ProxyConnectHeader: http.Header{
"X-Proxy-Account": []string{"example-account"},
},
}ఇక్కడ proxyURL అనేది విశ్లేషించిన endpoint URL. హెడర్ ఉదాహరణ మాత్రమే మరియు ప్రాక్సీ నిర్వాహకుడు అలాంటి ఫీల్డ్ను నిర్వచించినప్పుడే ఉపయోగపడుతుంది.
ప్రతి ప్రాక్సీ లేదా గమ్యస్థానానికి ఎంచుకునే విలువ కోసం GetProxyConnectHeader ఉపయోగించండి. డాక్యుమెంట్ చేసిన కాల్బ్యాక్ ప్రాక్సీ URL మరియు CONNECT లక్ష్యాన్ని స్వీకరిస్తుంది. ఈ కాల్బ్యాక్ nil కానప్పుడు, స్థిర ProxyConnectHeader ఫీల్డ్ నిర్లక్ష్యం చేయబడుతుంది.
విలువలను ఉద్దేశించిన పరిధిలో ఉంచండి. ప్రాక్సీకి మాత్రమే ఉన్న ఖాతా గుర్తు ప్రాక్సీ మార్పిడికి చెందుతుంది; వెబ్సైట్ అధికార విలువ గమ్యస్థాన అభ్యర్థనకు చెందుతుంది. కాల్బ్యాక్ అవసరమైన handshake విలువను ఉత్పత్తి చేయలేకపోతే, నిశ్శబ్దంగా వేరే విధంగా కాన్ఫిగర్ చేసిన అభ్యర్థనను పంపే బదులు దాని లోపాన్ని తిరిగి ఇవ్వండి.
ఈ సెట్టింగ్లు CONNECT నిర్వహణను అనుకూలీకరిస్తాయి. అవి స్వంత ప్రామాణీకరణ ప్రోటోకాల్ను కనిపెట్టవు లేదా ప్రాక్సీ సేవ యాక్సెస్ విధానాన్ని మార్చవు.