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 లభ్యతను తనిఖీ చేయండి.