Elixir Tesla : authentifier le proxy avec l’adaptateur Mint
Placez l’en-tête Basic dans les options de connexion de l’adaptateur Mint pour qu’il accompagne CONNECT avant la requête de destination.
basic = "Basic " <> Base.encode64(proxy_user <> ":" <> proxy_password)
client = Tesla.client([], {Tesla.Adapter.Mint, [
proxy: {:http, "proxy.example", 8080, []},
proxy_headers: [{"proxy-authorization", basic}]
]})Utilisez ce client Tesla pour les opérations prévues par l’application. Leurs URL restent celles des services destinataires ; proxy_user et proxy_password désignent le compte auprès de l’intermédiaire.
Mint applique proxy_headers à CONNECT pour un proxy tunnel, ou fusionne ces en-têtes avec les requêtes en mode transfert. Un middleware Tesla générique pour les en-têtes de destination n’est pas cette entrée de connexion intervenant plus tôt.
L’exemple utilise Basic. Base64 est une représentation, pas un chiffrement ; la protection dépend du transport de la connexion au proxy.
Conservez ces options avec l’adaptateur Mint. Passer à Finch, Hackney ou un autre adaptateur exige son interface, et l’en-tête Authorization de destination reste un autre échange d’authentification.