HttpConfigurable-luokan korvaaja on hajautettu useisiin ohjelmointirajapintoihin. HTTP-välityspalvelimen asetuksia tarkasteleva liitännäinen tarvitsee eri toiminnon kuin liitännäinen, joka lähettää pyynnön niiden kautta.

Nykyinen käyttöSiirtymärajapinta
Valitun välityspalvelinkokoonpanon lukeminenProxySettings.getInstance().getProxyConfiguration()
Tunnettujen tunnistetietojen hakeminen tai käyttäjältä kysyminenProxyAuthentication
Tunnistetietojen hakeminen määritetylle staattiselle päätepisteellegetStaticProxyCredentials, Kotlin-laajennus, joka on tarjolla Javalle ProxyUtils-luokan kautta
URL-osoitteen avaaminen alustan välityspalvelinvalinnallaHttpConnectionUtils.openConnection(location) tai openHttpConnection(location)

Vuoden 2024 IntelliJ Platform -lähteiden edustaman siirtymärajapinnan osalta nämä verkkotyypit sijaitsevat com.intellij.util.net-paketissa. Kotlin voi esimerkiksi tarkastella kokoonpanoa ja etsiä tunnetut staattisen välityspalvelimen tunnistetiedot ilman kehotetta:

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

Apuri vaatii ProxyCredentialProvider-olion; metodiviittaus sovittaa todennuspalvelun kyseiseen rajapintaan. Tunnistetiedot haetaan määritetyn välityspalvelimen isäntänimen ja portin perusteella. Null-tulos voi tarkoittaa, ettei kokoonpano ole staattinen, joten se ei todista, ettei PAC-valittu välityspalvelin tarvitse todennusta.

Kun varsinainen tehtävä on HTTP-pyynnön tekeminen, käytä alustan yhteysapuria sen sijaan, että rakentaisit reitityksen uudelleen isäntä- ja porttikentistä. Se kysyy alustan välityspalvelinvalitsimelta kohde-URL-osoitetta varten. Staattisen kokoonpanon muuntaminen asJavaProxy()-metodilla ei noudata sen poikkeusluetteloa eikä toteuta PAC-valintaa.

Jos interaktiivinen todennus vaaditaan, ProxyAuthentication.getPromptedAuthentication(prompt, host, port) on erillinen, mahdollisesti estävä toiminto. Säilytä tämä ero koodia siirtäessäsi ja tarkista rajapinnan saatavuus liitännäisen vähimmäistuetun Platform SDK:n suhteen.

Aiheeseen liittyvät artikkelit