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 upotrebaAPI za migraciju
Čitanje izabrane konfiguracije proksijaProxySettings.getInstance().getProxyConfiguration()
Dobavljanje poznatih akreditacija ili pitanje korisnikaProxyAuthentication
Pribavljanje akreditacija za konfigurisanu statičku krajnju tačkugetStaticProxyCredentials, Kotlin proširenje dostupno Javi kroz ProxyUtils
Otvaranje URL-a pomoću izbora proksija platformeHttpConnectionUtils.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.

Povezani članci