Elixir Tesla: autentificarea proxy-ului cu adaptorul Mint
Pune antetul Basic în opțiunile de conectare ale adaptorului Mint, ca să poată însoți CONNECT înaintea cererii către destinație.
basic = "Basic " <> Base.encode64(proxy_user <> ":" <> proxy_password)
client = Tesla.client([], {Tesla.Adapter.Mint, [
proxy: {:http, "proxy.example", 8080, []},
proxy_headers: [{"proxy-authorization", basic}]
]})Folosește acest client Tesla pentru operațiile dorite ale aplicației. URL-urile lor rămân destinațiile serviciilor; proxy_user și proxy_password identifică contul intermediarului.
Mint aplică proxy_headers la CONNECT pentru un proxy de tunel sau îmbină antetele cu cererile în modul de redirecționare. Un middleware Tesla generic pentru antetele destinației nu este această intrare de conectare folosită mai devreme.
Exemplul folosește Basic. Base64 este o reprezentare, nu criptare; protecția depinde de transportul conexiunii cu proxy-ul.
Păstrează aceste opțiuni cu adaptorul Mint. Trecerea la Finch, Hackney sau alt adaptor cere interfața acestuia, iar Authorization al destinației rămâne un alt schimb de autentificare.