Substituír HttpConfigurable nun complemento de IntelliJ
Lea a configuración do proxy, obtena credenciais do punto de conexión e abra conexións adaptadas á plataforma coas API de proxy de IntelliJ.
O substituto de HttpConfigurable está repartido entre varias API. Un complemento que inspecciona a configuración do proxy HTTP necesita unha operación distinta dun complemento que envía unha solicitude a través dela.
| Uso existente | API de migración |
|---|---|
| Ler a configuración de proxy seleccionada | ProxySettings.getInstance().getProxyConfiguration() |
| Obter credenciais coñecidas ou preguntar ao usuario | ProxyAuthentication |
| Obter credenciais para o punto de conexión estático configurado | getStaticProxyCredentials, unha extensión de Kotlin exposta a Java mediante ProxyUtils |
| Abrir un URL coa selección de proxy da plataforma | HttpConnectionUtils.openConnection(location) ou openHttpConnection(location) |
Para a API de migración que representan as fontes de IntelliJ Platform de 2024, estes tipos de rede atópanse en com.intellij.util.net. Por exemplo, Kotlin pode inspeccionar a configuración e buscar credenciais coñecidas de proxy estático sen preguntar:
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
)
)
O axudante require un ProxyCredentialProvider; a referencia de método adapta o servizo de autenticación a esa interface. As credenciais búscanse polo host e o porto do proxy configurado. Un resultado nulo pode significar que a configuración non é estática, así que non demostra que un proxy seleccionado por PAC non necesite autenticación.
Cando a tarefa real é facer unha solicitude HTTP, use o axudante de conexión da plataforma en lugar de reconstruír o encamiñamento a partir dos campos de host e porto. Consulta o selector de proxy da plataforma para o URL de destino. Converter unha configuración estática con asJavaProxy() non respecta a súa lista de excepcións nin implementa a selección PAC.
Se se require autenticación interactiva, ProxyAuthentication.getPromptedAuthentication(prompt, host, port) é unha operación separada que pode bloquear. Manteña esa distinción ao migrar código e comprobe a dispoñibilidade da API fronte ao Platform SDK mínimo compatible do complemento.