Sustituir HttpConfigurable en un complemento de IntelliJ
Lea la configuración del proxy, obtenga credenciales del punto de conexión y abra conexiones adaptadas a la plataforma con las API de proxy de IntelliJ.
El reemplazo de HttpConfigurable está repartido entre varias API. Un complemento que inspecciona la configuración del proxy HTTP necesita una operación distinta de un complemento que envía una solicitud a través de ella.
| Uso existente | API de migración |
|---|---|
| Leer la configuración de proxy seleccionada | ProxySettings.getInstance().getProxyConfiguration() |
| Obtener credenciales conocidas o preguntar al usuario | ProxyAuthentication |
| Obtener credenciales para el punto de conexión estático configurado | getStaticProxyCredentials, una extensión de Kotlin expuesta a Java mediante ProxyUtils |
| Abrir una URL con la selección de proxy de la plataforma | HttpConnectionUtils.openConnection(location) o openHttpConnection(location) |
Para la API de migración que representan las fuentes de IntelliJ Platform de 2024, estos tipos de red se encuentran en com.intellij.util.net. Por ejemplo, Kotlin puede inspeccionar la configuración y buscar credenciales conocidas de proxy estático sin 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
)
)
El auxiliar requiere un ProxyCredentialProvider; la referencia de método adapta el servicio de autenticación a esa interfaz. Las credenciales se buscan por el host y el puerto del proxy configurado. Un resultado nulo puede significar que la configuración no es estática, así que no demuestra que un proxy seleccionado por PAC no necesite autenticación.
Cuando la tarea real es hacer una solicitud HTTP, use el auxiliar de conexión de la plataforma en lugar de reconstruir el enrutamiento a partir de los campos de host y puerto. Consulta el selector de proxy de la plataforma para la URL de destino. Convertir una configuración estática con asJavaProxy() no respeta su lista de excepciones ni implementa la selección PAC.
Si se requiere autenticación interactiva, ProxyAuthentication.getPromptedAuthentication(prompt, host, port) es una operación aparte que puede bloquear. Mantenga esa distinción al migrar código y compruebe la disponibilidad de la API frente al Platform SDK mínimo compatible del complemento.