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 ઉપલબ્ધતા તપાસો.