HttpConfigurable asendus on jaotatud mitme API vahel. Plugin, mis uurib HTTP-puhverserveri seadeid, vajab teistsugust toimingut kui plugin, mis saadab nende kaudu päringu.

Praegune kasutusMigratsiooni-API
Valitud puhverserveri konfiguratsiooni lugemineProxySettings.getInstance().getProxyConfiguration()
Tuntud mandaatide hankimine või kasutajalt küsimineProxyAuthentication
Mandaatide hankimine konfigureeritud staatilise lõpp-punkti jaoksgetStaticProxyCredentials, Kotlini laiendus, mis on Java jaoks avatud ProxyUtils kaudu
URL-i avamine platvormi puhverserveri valiku abilHttpConnectionUtils.openConnection(location) või openHttpConnection(location)

2024. aasta IntelliJ Platformi allikatega esindatud migratsiooni-API puhul asuvad need võrgutüübid com.intellij.util.net sees. Näiteks saab Kotlin konfiguratsiooni uurida ja otsida tuntud staatilise puhverserveri mandaate ilma küsimata:

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

Abifunktsioon nõuab ProxyCredentialProvider; meetodiviide kohandab autentimisteenuse selle liidesega. Mandaate otsitakse konfigureeritud puhverserveri hosti ja pordi järgi. Null-tulemus võib tähendada, et konfiguratsioon ei ole staatiline, seega ei tõesta see, et PAC-i kaudu valitud puhverserver autentimist ei vaja.

Kui tegelik ülesanne on teha HTTP-päring, kasutage platvormi ühenduse abifunktsiooni, mitte ärge taastage marsruutimist hosti- ja pordiväljadest. See konsulteerib platvormi puhverserveri valijaga siht-URL-i jaoks. Staatilise konfiguratsiooni teisendamine asJavaProxy() abil ei arvesta selle erandite loendit ega rakenda PAC-valikut.

Kui on vaja interaktiivset autentimist, on ProxyAuthentication.getPromptedAuthentication(prompt, host, port) eraldi, võimalik, et blokeeriv toiming. Säilitage see erinevus koodi migreerimisel ja kontrollige API kättesaadavust plugina minimaalse toetatud Platform SDK suhtes.

Seotud artiklid