Elixir Tesla: autenticación do proxy co adaptador Mint
Pon a cabeceira Basic nas opcións de conexión de Mint para que poida acompañar CONNECT antes da solicitude ao destino.
basic = "Basic " <> Base.encode64(proxy_user <> ":" <> proxy_password)
client = Tesla.client([], {Tesla.Adapter.Mint, [
proxy: {:http, "proxy.example", 8080, []},
proxy_headers: [{"proxy-authorization", basic}]
]})Usa este cliente Tesla nas operacións previstas da aplicación. Os seus URL seguen sendo os destinos dos servizos; proxy_user e proxy_password identifican a conta do intermediario.
Mint aplica proxy_headers a CONNECT nun proxy de túnel ou combina as cabeceiras coas solicitudes no modo de reenvío. Un middleware xenérico de Tesla para cabeceiras de destino non é esa entrada de conexión previa.
O exemplo usa Basic. Base64 é unha representación, non cifrado; a protección depende do transporte da conexión ao proxy.
Mantén estas opcións co adaptador Mint. Cambiar a Finch, Hackney ou outro adaptador require a súa interface, e o Authorization do destino segue sendo outro intercambio de autenticación.