Elixir Tesla: proxygodkendelse med Mint-adapteren
Sæt Basic-headeren i Mint-adapterens forbindelsesindstillinger, så den kan følge med CONNECT før destinationsanmodningen.
basic = "Basic " <> Base.encode64(proxy_user <> ":" <> proxy_password)
client = Tesla.client([], {Tesla.Adapter.Mint, [
proxy: {:http, "proxy.example", 8080, []},
proxy_headers: [{"proxy-authorization", basic}]
]})Brug denne Tesla-klient til programmets tilsigtede handlinger. Deres URL’er er stadig tjenesternes destinationer; proxy_user og proxy_password angiver kontoen hos mellemleddet.
Mint bruger proxy_headers til CONNECT ved en tunnelproxy eller fletter headerne ind i anmodninger i videresendelsestilstand. Generel Tesla-middleware til destinationsheadere er ikke dette tidligere forbindelsesinput.
Eksemplet bruger Basic. Base64 er en repræsentation, ikke kryptering; beskyttelsen afhænger af proxyforbindelsens transport.
Behold indstillingerne i Mint-adapteren. Skift til Finch, Hackney eller en anden adapter kræver dens grænseflade, og destinationens Authorization er fortsat en anden godkendelsesudveksling.