Elixir Tesla: ยืนยันตัวตนกับพร็อกซีผ่านอะแดปเตอร์ Mint
ใส่เฮดเดอร์ Basic ในตัวเลือกการเชื่อมต่อของ Mint เพื่อให้ส่งไปกับ CONNECT ก่อนคำขอถึงปลายทางได้
basic = "Basic " <> Base.encode64(proxy_user <> ":" <> proxy_password)
client = Tesla.client([], {Tesla.Adapter.Mint, [
proxy: {:http, "proxy.example", 8080, []},
proxy_headers: [{"proxy-authorization", basic}]
]})ใช้ไคลเอนต์ Tesla นี้กับงานที่แอปต้องการทำ URL ของงานยังคงเป็นปลายทางของบริการ ส่วน proxy_user และ proxy_password คือบัญชีของตัวกลาง
Mint ใช้ proxy_headers กับ CONNECT สำหรับพร็อกซีแบบทันเนล หรือรวมเฮดเดอร์เหล่านี้เข้ากับคำขอในโหมดส่งต่อ มิดเดิลแวร์ทั่วไปของ Tesla ที่ตั้งค่าเฮดเดอร์ปลายทางไม่ใช่อินพุตสำหรับขั้นตอนการเชื่อมต่อที่เกิดก่อนหน้านี้
ตัวอย่างใช้ Basic โดย Base64 เป็นรูปแบบการแทนข้อมูล ไม่ใช่การเข้ารหัสเพื่อความลับ การปกป้องขึ้นอยู่กับวิธีขนส่งของการเชื่อมต่อไปยังพร็อกซี
เก็บตัวเลือกเหล่านี้ไว้กับอะแดปเตอร์ Mint หากเปลี่ยนเป็น Finch, Hackney หรืออะแดปเตอร์อื่น ต้องใช้ส่วนเชื่อมต่อของตัวนั้น และ Authorization ของปลายทางยังคงเป็นการแลกเปลี่ยนเพื่อยืนยันตัวตนอีกชุดหนึ่ง