Erstatningen for HttpConfigurable er fordelt på flere API'er. Et plugin, der undersøger HTTP-proxyindstillingerne, har brug for en anden handling end et plugin, der sender en anmodning gennem dem.

Eksisterende brugMigrerings-API
Læs den valgte proxykonfigurationProxySettings.getInstance().getProxyConfiguration()
Hent kendte legitimationsoplysninger, eller spørg brugerenProxyAuthentication
Hent legitimationsoplysninger til det konfigurerede statiske slutpunktgetStaticProxyCredentials, en Kotlin-udvidelse eksponeret til Java via ProxyUtils
Åbn en URL med platformens proxyvalgHttpConnectionUtils.openConnection(location) eller openHttpConnection(location)

For migrerings-API'et, som IntelliJ Platform-kilderne fra 2024 repræsenterer, ligger disse netværkstyper i com.intellij.util.net. Kotlin kan for eksempel undersøge konfigurationen og slå kendte legitimationsoplysninger for statisk proxy op uden at spørge:

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
    )
)

Hjælperen kræver en ProxyCredentialProvider; metodereferencen tilpasser godkendelsestjenesten til den grænseflade. Legitimationsoplysninger slås op via den konfigurerede proxys vært og port. Et null-resultat kan betyde, at konfigurationen ikke er statisk, så det beviser ikke, at en PAC-valgt proxy ikke kræver godkendelse.

Når den egentlige opgave er at sende en HTTP-anmodning, skal du bruge platformens forbindelseshjælper i stedet for at genskabe routing ud fra vært- og portfelter. Den konsulterer platformens proxyvælger for destinations-URL'en. Konvertering af en statisk konfiguration med asJavaProxy() respekterer ikke dens undtagelsesliste og implementerer ikke PAC-valg.

Hvis interaktiv godkendelse er påkrævet, er ProxyAuthentication.getPromptedAuthentication(prompt, host, port) en separat, potentielt blokerende handling. Bevar den sondring, når du migrerer kode, og kontroller API-tilgængelighed mod pluginets mindst understøttede Platform SDK.

Relaterede artikler