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 उपलब्धता जाँचें।

संबंधित लेख