HttpConfigurable vervang in 'n IntelliJ-inprop
Lees proxy-konfigurasie, verkry eindpunt-aanmeldings en open platformbewuste verbindings met die IntelliJ-proxy-API's.
Die plaasvervanger vir HttpConfigurable is oor verskeie API's versprei. 'n Inprop wat die HTTP-proxy-instellings ondersoek, benodig 'n ander bewerking as 'n inprop wat 'n versoek daardeur stuur.
| Bestaande gebruik | Migrasie-API |
|---|---|
| Lees die gekose proxy-konfigurasie | ProxySettings.getInstance().getProxyConfiguration() |
| Verkry bekende aanmeldings of vra die gebruiker | ProxyAuthentication |
| Verkry aanmeldings vir die gekonfigureerde statiese eindpunt | getStaticProxyCredentials, 'n Kotlin-uitbreiding wat deur ProxyUtils aan Java blootgestel word |
| Open 'n URL met die platform se proxy-keuse | HttpConnectionUtils.openConnection(location) of openHttpConnection(location) |
Vir die migrasie-API wat deur die 2024-bronne van die IntelliJ Platform voorgestel word, woon hierdie netwerktypes in com.intellij.util.net. Kotlin kan byvoorbeeld die konfigurasie ondersoek en bekende statiese proxy-aanmeldings naslaan sonder om 'n versoek te rig:
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
)
)
Die hulpmiddel vereis 'n ProxyCredentialProvider; die metodeverwysing pas die verifikasiediens by daardie koppelvlak aan. Aanmeldings word volgens die gekonfigureerde proxy se gasheer en poort nageslaan. 'n Nul-uitslag kan beteken dat die konfigurasie nie staties is nie, so dit bewys nie dat 'n PAC-gekeuse proxy geen verifikasie nodig het nie.
Wanneer die werklike taak is om 'n HTTP-versoek te maak, gebruik die platform se verbindingshulpmiddel eerder as om die roetering uit gasheer- en poortvelde te herbou. Dit raadpleeg die platform se proxy-keiser vir die bestemming-URL. Om 'n statiese konfigurasie met asJavaProxy() om te skakel, eerbiedig nie sy uitsonderingslys nie en implementeer nie PAC-keuse nie.
As interaktiewe verifikasie vereis word, is ProxyAuthentication.getPromptedAuthentication(prompt, host, port) 'n aparte bewerking wat moontlik blokkeer. Behou daardie onderskeid wanneer jy kode migreer, en kontroleer API-beskikbaarheid teen die inprop se minimum ondersteunde Platform SDK.