Zamjena HttpConfigurable u IntelliJ dodatku
Čitajte konfiguraciju proxyja, pribavite vjerodajnice završne točke i otvorite veze prilagođene platformi pomoću IntelliJ proxy API-ja.
Zamjena za HttpConfigurable raspoređena je na nekoliko API-ja. Dodatak koji pregledava postavke HTTP proxyja treba drugu operaciju od dodatka koji šalje zahtjev kroz njih.
| Dosadašnja uporaba | API za migraciju |
|---|---|
| Čitanje odabrane konfiguracije proxyja | ProxySettings.getInstance().getProxyConfiguration() |
| Dohvaćanje poznatih vjerodajnica ili pitanje korisnika | ProxyAuthentication |
| Pribavljanje vjerodajnica za konfiguriranu statičku završnu točku | getStaticProxyCredentials, Kotlin proširenje dostupno Javi kroz ProxyUtils |
| Otvaranje URL-a pomoću odabira proxyja platforme | HttpConnectionUtils.openConnection(location) ili openHttpConnection(location) |
Za API za migraciju koji predstavljaju izvori IntelliJ Platforma iz 2024., ovi mrežni tipovi nalaze se u com.intellij.util.net. Na primjer, Kotlin može pregledati konfiguraciju i potražiti poznate vjerodajnice statičkog proxyja bez upita:
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
)
)
Pomoćnik zahtijeva ProxyCredentialProvider; referenca na metodu prilagođava servis za autentifikaciju tom sučelju. Vjerodajnice se traže prema hostu i portu konfiguriranog proxyja. null rezultat može značiti da konfiguracija nije statička, pa ne dokazuje da proxy odabran putem PAC-a ne treba autentifikaciju.
Kada je stvarni zadatak slanje HTTP zahtjeva, upotrijebite pomoćnik za vezu platforme umjesto ponovne izgradnje usmjeravanja iz polja hosta i porta. On se savjetuje s biračem proxyja platforme za odredišni URL. Pretvaranje statičke konfiguracije pomoću asJavaProxy() ne poštuje njezin popis izuzetaka i ne implementira PAC odabir.
Ako je potrebna interaktivna autentifikacija, ProxyAuthentication.getPromptedAuthentication(prompt, host, port) je zasebna operacija koja može blokirati. Zadržite tu razliku pri migraciji koda i provjerite dostupnost API-ja prema minimalnom podržanom Platform SDK-u dodatka.