IntelliJ प्लगइनमा HttpConfigurable प्रतिस्थापन गर्ने
प्रोक्सी कन्फिगरेसन पढ्नुहोस्, इन्डपोइन्ट प्रमाणहरू प्राप्त गर्नुहोस् र IntelliJ प्रोक्सी API सँग प्लेटफर्म-अनुकूल जडानहरू खोल्नुहोस्।
HttpConfigurable को प्रतिस्थापन धेरै API मा फैलिएको छ। HTTP प्रोक्सी सेटिङहरू जाँच्ने प्लगइनलाई तिनीहरूमार्फत अनुरोध पठाउने प्लगइनभन्दा फरक सञ्चालन चाहिन्छ।
| हालको प्रयोग | माइग्रेसन API |
|---|---|
| छानिएको प्रोक्सी कन्फिगरेसन पढ्ने | ProxySettings.getInstance().getProxyConfiguration() |
| ज्ञात प्रमाणहरू प्राप्त गर्ने वा प्रयोगकर्तालाई सोध्ने | ProxyAuthentication |
| कन्फिगर गरिएको स्थिर इन्डपोइन्टका लागि प्रमाणहरू प्राप्त गर्ने | getStaticProxyCredentials, ProxyUtils मार्फत Java मा खुला Kotlin विस्तार |
| प्लेटफर्मको प्रोक्सी छनोटले 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 उपलब्धता जाँच्नुहोस्।