Greina Proxy-Authorization í einum Go framsendingarproksi
Greina Proxy-Authorization serstakliga í einum Go framsendingarproksi og varðveita Authorization-høvdini frá upprunanum.
Í einum Go framsendingarproksi les r.BasicAuth Authorization-høvdini, sum hoyrir til innskráningina á málsíðuni. Tíðindini hjá proksinum sjálvum koma í Proxy-Authorization.
Ein lítil millistykki kann endurnýta almenna greinarast ov uttan at broyta upprunaligu fyrirspurnina:
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()
}
Hesi brotini brúka net/http. Tey gera greinaðu virðini og eitt merki um eydnast greining; tað váttar ikki kontuna. Lat úrslitíð til tann ætlaða váttanarhondliga av tíðindunum hjá proksinum.
Um váttanin miseydnast, send 407 við einum hóskandi Proxy-Authenticate avbjóðing aftur og steðga viðgerðini av tí fyrirspurnini. Vátta áðrenn tú letur upp samband til málsíðuna ella tekur ímóti einum CONNECT-tunli.
Eftir at tíðindini eru móttikin, brúka tíðindini í Proxy-Authorization hjá proksinum sjálvum áðrenn vanliga framsending. Varðveit upprunaliga Authorization-økið fyri upprunan. Ein yvirskipaður foreldraproksi, um hann finst, hevur tørv á sínum egna tilvitaða váttanaruppsetningi heldur enn at fá hesi klienttíðindi av misgripum.