Elixir Tesla: uwierzytelnianie proxy z adapterem Mint
Umieść nagłówek Basic w opcjach połączenia adaptera Mint, aby mógł towarzyszyć CONNECT przed żądaniem do celu.
basic = "Basic " <> Base.encode64(proxy_user <> ":" <> proxy_password)
client = Tesla.client([], {Tesla.Adapter.Mint, [
proxy: {:http, "proxy.example", 8080, []},
proxy_headers: [{"proxy-authorization", basic}]
]})Używaj tego klienta Tesla do planowanych operacji aplikacji. Ich URL-e pozostają adresami usług docelowych; proxy_user i proxy_password oznaczają konto u pośrednika.
Mint stosuje proxy_headers w CONNECT dla proxy tunelowego lub łączy nagłówki z żądaniami w trybie przekazywania. Zwykłe middleware Tesli do nagłówków docelowych nie jest tym wcześniejszym wejściem konfiguracji połączenia.
Przykład używa Basic. Base64 jest reprezentacją, a nie szyfrowaniem; ochrona zależy od transportu połączenia z proxy.
Te opcje pozostaw przy adapterze Mint. Zmiana na Finch, Hackney lub inny adapter wymaga jego interfejsu, a docelowy Authorization pozostaje odrębną wymianą uwierzytelniania.