basic = "Basic " <> Base.encode64(proxy_user <> ":" <> proxy_password)

client = Tesla.client([], {Tesla.Adapter.Mint, [
  proxy: {:http, "proxy.example", 8080, []},
  proxy_headers: [{"proxy-authorization", basic}]
]})

Gunakan klien Tesla ini untuk operasi yang dimaksudkan aplikasi. URL-nya tetap menunjuk ke layanan tujuan; proxy_user dan proxy_password adalah akun pada perantara.

Mint menerapkan proxy_headers pada CONNECT untuk proxy terowongan, atau menggabungkan header tersebut ke permintaan dalam mode penerusan. Middleware Tesla umum untuk header tujuan bukanlah masukan koneksi pada tahap yang lebih awal itu.

Contoh ini menggunakan Basic. Base64 adalah representasi, bukan enkripsi; perlindungannya bergantung pada transport koneksi proxy.

Pertahankan opsi ini pada adapter Mint. Beralih ke Finch, Hackney, atau adapter lain membutuhkan antarmukanya sendiri, dan Authorization tujuan tetap merupakan pertukaran autentikasi yang berbeda.

Artikel terkait