Nahradenie HttpConfigurable v plugine pre IntelliJ
Čítajte konfiguráciu proxy, získajte prihlasovacie údaje koncového bodu a otvárajte pripojenia zohľadňujúce platformu pomocou proxy API IntelliJ.
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žitie | Migračné API |
|---|---|
| Čítanie vybranej konfigurácie proxy | ProxySettings.getInstance().getProxyConfiguration() |
| Získanie známych prihlasovacích údajov alebo otázka používateľovi | ProxyAuthentication |
| Získanie prihlasovacích údajov pre nakonfigurovaný statický koncový bod | getStaticProxyCredentials, rozšírenie Kotlin sprístupnené Jave cez ProxyUtils |
| Otvorenie URL pomocou výberu proxy na platforme | HttpConnectionUtils.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.