IntelliJ প্লাগিনে HttpConfigurable প্রতিস্থাপন
প্রক্সি কনফিগারেশন পড়ুন, এন্ডপয়েন্ট শংসাপত্র সংগ্রহ করুন এবং IntelliJ প্রক্সি API দিয়ে প্ল্যাটফর্ম-সচেতন সংযোগ খুলুন।
HttpConfigurable-এর প্রতিস্থাপনটি একাধিক API জুড়ে বিস্তৃত। HTTP প্রক্সি সেটিংস পরীক্ষা করা একটি প্লাগিনের এমন একটি প্লাগিনের চেয়ে ভিন্ন অপারেশন দরকার যা সেগুলির মাধ্যমে অনুরোধ পাঠায়।
| বর্তমান ব্যবহার | মাইগ্রেশন API |
|---|---|
| নির্বাচিত প্রক্সি কনফিগারেশন পড়া | ProxySettings.getInstance().getProxyConfiguration() |
| পরিচিত শংসাপত্র সংগ্রহ করা বা ব্যবহারকারীকে জিজ্ঞাসা করা | ProxyAuthentication |
| কনফিগার করা স্ট্যাটিক এন্ডপয়েন্টের শংসাপত্র পাওয়া | getStaticProxyCredentials, একটি Kotlin এক্সটেনশন যা ProxyUtils-এর মাধ্যমে Java-তে উন্মুক্ত |
| প্ল্যাটফর্মের প্রক্সি নির্বাচন ব্যবহার করে URL খোলা | HttpConnectionUtils.openConnection(location) বা openHttpConnection(location) |
2024 IntelliJ Platform সোর্স দ্বারা প্রতিনিধিত্ব করা মাইগ্রেশন API-এর জন্য, এই নেটওয়ার্ক টাইপগুলি com.intellij.util.net-এ থাকে। উদাহরণস্বরূপ, Kotlin কনফিগারেশন পরীক্ষা করতে এবং অনুরোধ ছাড়াই পরিচিত স্ট্যাটিক-প্রক্সি শংসাপত্র খুঁজতে পারে:
import com.intellij.util.net.ProxyAuthentication
import com.intellij.util.net.ProxyCredentialProvider
import com.intellij.util.net.ProxySettings
import com.intellij.util.net.getStaticProxyCredentials
val settings = ProxySettings.getInstance()
val configuration = settings.getProxyConfiguration()
val credentials = settings.getStaticProxyCredentials(
ProxyCredentialProvider(
ProxyAuthentication.getInstance()::getKnownAuthentication
)
)
হেল্পারটির ProxyCredentialProvider প্রয়োজন; মেথড রেফারেন্সটি প্রমাণীকরণ পরিষেবাকে সেই ইন্টারফেসে খাপ খাওয়ায়। শংসাপত্র কনফিগার করা প্রক্সির হোস্ট ও পোর্ট অনুসারে খোঁজা হয়। null ফলাফল বোঝাতে পারে কনফিগারেশনটি স্ট্যাটিক নয়, তাই এটি প্রমাণ করে না যে PAC-নির্বাচিত প্রক্সির প্রমাণীকরণ প্রয়োজন নেই।
যখন আসল কাজটি HTTP অনুরোধ করা, তখন হোস্ট ও পোর্ট ক্ষেত্র থেকে রাউটিং পুনর্গঠন না করে প্ল্যাটফর্ম সংযোগ হেল্পার ব্যবহার করুন। এটি গন্তব্য URL-এর জন্য প্ল্যাটফর্মের প্রক্সি নির্বাচককে জিজ্ঞাসা করে। asJavaProxy() দিয়ে স্ট্যাটিক কনফিগারেশন রূপান্তর করলে এর ব্যতিক্রম তালিকা মানা হয় না এবং PAC নির্বাচন বাস্তবায়িত হয় না।
যদি ইন্টারঅ্যাকটিভ প্রমাণীকরণ প্রয়োজন হয়, ProxyAuthentication.getPromptedAuthentication(prompt, host, port) একটি পৃথক, সম্ভাব্য ব্লকিং অপারেশন। কোড মাইগ্রেট করার সময় এই পার্থক্য রাখুন এবং প্লাগিনের ন্যূনতম সমর্থিত Platform SDK-এর বিপরীতে API প্রাপ্যতা যাচাই করুন।