Í 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.

Skyldar greinar