Læg Gos CONNECT-headere på Transport
Send en påkrævet header til en HTTP-proxy under CONNECT uden at sætte den på destinationsanmodningen.
En header, der føjes til http.Request.Header, beskriver destinationsanmodningen. Når HTTPS bruger en HTTP-proxy, udfører transporten først CONNECT. Destinationsanmodningens headere er ikke en generel konfigurations-API for den tidligere udveksling.
For en statisk header, som din proxy kræver, skal du konfigurere transportens ProxyConnectHeader:
transport := &http.Transport{
Proxy: http.ProxyURL(proxyURL),
ProxyConnectHeader: http.Header{
"X-Proxy-Account": []string{"example-account"},
},
}Her er proxyURL den parsede slutpunkts-URL. Headeren er illustrativ og kun nyttig, når proxyoperatøren definerer sådant et felt.
For en værdi, der vælges pr. proxy eller destination, brug GetProxyConnectHeader. Det dokumenterede callback modtager proxy-URL'en og CONNECT-målet. Når dette callback ikke er nil, ignoreres det statiske felt ProxyConnectHeader.
Hold værdierne inden for det tilsigtede område. En kontomarkering kun til proxyen hører til proxyudvekslingen; en autorisationsværdi for et websted hører til destinationsanmodningen. Hvis et callback ikke kan frembringe den krævede handshake-værdi, skal du returnere dets fejl i stedet for stille at sende en anden konfigureret anmodning.
Disse indstillinger tilpasser CONNECT-håndteringen. De opfinder ikke en brugerdefineret godkendelsesprotokol og ændrer ikke proxy-tjenestens adgangspolitik.