HttpConfigurable-luokan korvaaminen IntelliJ-liitännäisessä
Lue välityspalvelimen kokoonpano, hanki päätepisteen tunnistetiedot ja avaa alustan mukaiset yhteydet IntelliJ:n välityspalvelin-ohjelmointirajapinnoilla.
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 lukeminen | ProxySettings.getInstance().getProxyConfiguration() |
| Tunnettujen tunnistetietojen hakeminen tai käyttäjältä kysyminen | ProxyAuthentication |
| Tunnistetietojen hakeminen määritetylle staattiselle päätepisteelle | getStaticProxyCredentials, Kotlin-laajennus, joka on tarjolla Javalle ProxyUtils-luokan kautta |
| URL-osoitteen avaaminen alustan välityspalvelinvalinnalla | HttpConnectionUtils.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.