HTTPS अनुरोधों के लिए Akka HTTP का CONNECT परिवहन
प्रॉक्सी परिवहन को कनेक्शन-पूल सेटिंग्स से जोड़ें और उन सेटिंग्स को उस अनुरोध तक पहुँचाएँ जिसे टनल की आवश्यकता है।
Akka HTTP के HTTPS अनुरोध के लिए, इसके क्लाइंट परिवहन को फ़ॉरवर्ड प्रॉक्सी के माध्यम से CONNECT स्थापित करने के लिए कॉन्फ़िगर करें:
import java.net.InetSocketAddress
import akka.http.scaladsl.{ClientTransport, Http}
import akka.http.scaladsl.model.HttpRequest
import akka.http.scaladsl.settings.ConnectionPoolSettings
val transport = ClientTransport.httpsProxy(
InetSocketAddress.createUnresolved("proxy.example", 8080))
val settings = ConnectionPoolSettings(system)
.withConnectionSettings(_.withTransport(transport))
val response = Http().singleRequest(
HttpRequest(uri = "https://example.com/"),
settings = settings)
एप्लिकेशन अपने मौजूदा ActorSystem को system के रूप में प्रदान करता है और सामान्य स्ट्रीम तथा रिस्पॉन्स-एंटिटी जीवनचक्र बनाए रखता है। कनेक्शन मुक्त हो सके इसके लिए लौटाई गई रिस्पॉन्स-एंटिटी को उपयुक्त रूप से उपभोग करें या छोड़ दें।
यहाँ httpsProxy नाम का अर्थ HTTP CONNECT प्रॉक्सी के माध्यम से HTTPS गंतव्य कनेक्शन स्थापित करना है। यह प्रॉक्सी लिसनर से ही TLS सत्र खोलने का निर्देश नहीं है।
अनुकूलित सेटिंग्स को उस अनुरोध या पूल तक पहुँचाएँ जो ट्रैफ़िक भेजता है। किसी अन्य पूल कॉन्फ़िगरेशन का उपयोग करने वाले कॉल के पास सेटिंग्स बनाने से वह कॉल अपरिवर्तित रहता है।
Akka HTTPS अनुरोधों के लिए इस परिवहन का दस्तावेज़ीकरण करता है। गंतव्य को उसके वास्तविक HTTPS URI के रूप में रखें। HTTP प्रॉक्सी सूची से कोई HTTP एंडपॉइंट तब परिवहन के लिए उम्मीदवार है जब वह आवश्यक CONNECT गंतव्य की अनुमति देता है। सर्वर-साइड bindFlow फ़ॉरवर्डिंग उदाहरण एक अन्य HTTP सेवा बनाता है और भिन्न निर्माण समस्या का उत्तर देता है।