Go ఫార్వర్డ్ ప్రాక్సీలో r.BasicAuth Authorization హెడర్‌ను చదువుతుంది; అది గమ్యస్థాన వెబ్‌సైట్ లాగిన్‌కు చెందుతుంది. ప్రాక్సీ స్వంత ఆధారాలు Proxy-Authorizationలో వస్తాయి.

ఒక చిన్న అడాప్టర్ అసలు అభ్యర్థనను మార్చకుండా పబ్లిక్ పార్సర్‌ను తిరిగి ఉపయోగించగలదు:

func proxyBasicAuth(r *http.Request) (string, string, bool) {
    headers := make(http.Header)
    headers.Set("Authorization", r.Header.Get("Proxy-Authorization"))
    return (&http.Request{Header: headers}).BasicAuth()
}

ఈ భాగం net/httpను ఉపయోగిస్తుంది. విశ్లేషించిన విలువలను మరియు విశ్లేషణ విజయ సూచికను ఇది తిరిగి ఇస్తుంది; ఇది ఖాతాను ధృవీకరించదు. ఫలితాన్ని ప్రాక్సీ ఉద్దేశించిన ఆధారాల ధృవీకరణకర్తకు అందించండి.

ధృవీకరణ విఫలమైతే, తగిన Proxy-Authenticate సవాలుతో 407 తిరిగి పంపి ఆ అభ్యర్థన ప్రాసెసింగ్‌ను ఆపండి. గమ్యస్థానానికి కనెక్షన్ తెరవక ముందు లేదా CONNECT టన్నెల్‌ను అంగీకరించక ముందు ధృవీకరించండి.

ఆధారాలను అంగీకరించిన తర్వాత, సాధారణ ఫార్వర్డింగ్‌కు ముందు ప్రాక్సీ స్వంత Proxy-Authorization హెడర్‌ను ఉపయోగించండి. మూలం కోసం అసలు Authorization ఫీల్డ్‌ను కాపాడండి. పైన తల్లిదండ్రుల ప్రాక్సీ ఉంటే, ఈ క్లయింట్ ఆధారం యాదృచ్ఛికంగా రాకుండా దానికి సొంతంగా ఉద్దేశపూర్వక ధృవీకరణ ఏర్పాటు అవసరం.

సంబంధిత వ్యాసాలు