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.

Articole similare