Nahrazení HttpConfigurable v pluginu pro IntelliJ
Čtěte konfiguraci proxy, získávejte přihlašovací údaje koncového bodu a otevírejte připojení s ohledem na platformu pomocí proxy API IntelliJ.
Náhrada za HttpConfigurable je rozložena do několika API. Plugin, který zkoumá nastavení HTTP proxy, potřebuje jinou operaci než plugin, který přes ně odesílá požadavek.
| Stávající použití | Migrační API |
|---|---|
| Čtení vybrané konfigurace proxy | ProxySettings.getInstance().getProxyConfiguration() |
| Získání známých přihlašovacích údajů nebo dotaz na uživatele | ProxyAuthentication |
| Získání přihlašovacích údajů pro nakonfigurovaný statický koncový bod | getStaticProxyCredentials, rozšíření Kotlin zpřístupněné Javě přes ProxyUtils |
| Otevření URL pomocí volby proxy na platformě | HttpConnectionUtils.openConnection(location) nebo openHttpConnection(location) |
Pro migrační API, které představují zdroje IntelliJ Platform z roku 2024, se tyto síťové typy nacházejí v com.intellij.util.net. Kotlin může například prozkoumat konfiguraci a vyhledat známé údaje statické 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 metodu přizpůsobuje službu ověřování tomuto rozhraní. Přihlašovací údaje se hledají podle hostitele a portu nakonfigurované proxy. Výsledek null může znamenat, že konfigurace není statická, takže nedokazuje, že proxy vybraná přes PAC nevyžaduje ověření.
Když je skutečným úkolem odeslat HTTP požadavek, použijte pomocníka pro připojení platformy místo opětovného sestavování směrování z polí hostitele a portu. Dotazuje se selektoru proxy platformy pro cílovou URL. Převod statické konfigurace pomocí asJavaProxy() nerespektuje její seznam výjimek a neimplementuje výběr PAC.
Pokud je vyžadováno interaktivní ověření, ProxyAuthentication.getPromptedAuthentication(prompt, host, port) je samostatná, potenciálně blokující operace. Při migraci kódu tento rozdíl zachovejte a dostupnost API ověřte vůči minimální podporované Platform SDK pluginu.