Náhrada za HttpConfigurable je rozložená do niekoľkých API. Plugin, ktorý skúma nastavenia HTTP proxy, potrebuje inú operáciu ako plugin, ktorý cez ne odosiela požiadavku.

Doterajšie použitieMigračné API
Čítanie vybranej konfigurácie proxyProxySettings.getInstance().getProxyConfiguration()
Získanie známych prihlasovacích údajov alebo otázka používateľoviProxyAuthentication
Získanie prihlasovacích údajov pre nakonfigurovaný statický koncový bodgetStaticProxyCredentials, rozšírenie Kotlin sprístupnené Jave cez ProxyUtils
Otvorenie URL pomocou výberu proxy na platformeHttpConnectionUtils.openConnection(location) alebo openHttpConnection(location)

Pre migračné API, ktoré predstavujú zdroje IntelliJ Platform z roku 2024, sa tieto sieťové typy nachádzajú v com.intellij.util.net. Napríklad Kotlin môže preskúmať konfiguráciu a vyhľadať známe údaje statického proxy bez výzvy:

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

Pomocník vyžaduje ProxyCredentialProvider; odkaz na metódu prispôsobuje službu overovania tomuto rozhraniu. Prihlasovacie údaje sa hľadajú podľa hostiteľa a portu nakonfigurovaného proxy. Výsledok null môže znamenať, že konfigurácia nie je statická, takže nepreukazuje, že proxy vybraná cez PAC nevyžaduje overenie.

Keď je skutočnou úlohou odoslať HTTP požiadavku, použite pomocníka pripojenia platformy namiesto opätovného zostavenia smerovania z polí hostiteľa a portu. Dotazuje sa selektora proxy platformy pre cieľovú URL. Prevod statickej konfigurácie pomocou asJavaProxy() nerešpektuje jej zoznam výnimiek a neimplementuje výber PAC.

Ak sa vyžaduje interaktívne overenie, ProxyAuthentication.getPromptedAuthentication(prompt, host, port) je samostatná, potenciálne blokujúca operácia. Pri migrácii kódu tento rozdiel zachovajte a dostupnosť API overte voči minimálnej podporovanej Platform SDK pluginu.

Súvisiace články