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 পরিষেবা তৈরি করে এবং ভিন্ন একটি নির্মাণ সমস্যার উত্তর দেয়।