Zamena HttpConfigurable u IntelliJ dodatku
Čitajte konfiguraciju proksija, pribavite akreditacije krajnje tačke i otvorite veze prilagođene platformi pomoću IntelliJ proxy API-ja.
Zamena za HttpConfigurable raspoređena je na nekoliko API-ja. Dodatak koji pregleda podešavanja HTTP proksija treba drugu operaciju od dodatka koji kroz njih šalje zahtev.
| Dosadašnja upotreba | API za migraciju |
|---|---|
| Čitanje izabrane konfiguracije proksija | ProxySettings.getInstance().getProxyConfiguration() |
| Dobavljanje poznatih akreditacija ili pitanje korisnika | ProxyAuthentication |
| Pribavljanje akreditacija za konfigurisanu statičku krajnju tačku | getStaticProxyCredentials, Kotlin proširenje dostupno Javi kroz ProxyUtils |
| Otvaranje URL-a pomoću izbora proksija 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 primer, Kotlin može pregledati konfiguraciju i potražiti poznate akreditacije statičkog proksija 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 zahteva ProxyCredentialProvider; referenca na metod prilagođava servis za autentifikaciju tom interfejsu. Akreditacije se traže prema hostu i portu konfigurisanog proksija. null rezultat može značiti da konfiguracija nije statička, pa ne dokazuje da proksi izabran putem PAC-a ne treba autentifikaciju.
Kada je stvarni zadatak slanje HTTP zahteva, koristite pomoćnik za vezu platforme umesto ponovne izgradnje rutiranja iz polja hosta i porta. On se savetuje sa biračem proksija platforme za ciljni URL. Pretvaranje statičke konfiguracije pomoću asJavaProxy() ne poštuje njen spisak izuzetaka i ne implementira PAC izbor.
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 proverite dostupnost API-ja prema minimalnom podržanom Platform SDK-u dodatka.