Le remplacement de HttpConfigurable est réparti entre plusieurs API. Un plugin qui inspecte les paramètres du proxy HTTP a besoin d'une opération différente d'un plugin qui envoie une requête à travers eux.

Usage existantAPI de migration
Lire la configuration de proxy sélectionnéeProxySettings.getInstance().getProxyConfiguration()
Récupérer les identifiants connus ou demander à l'utilisateurProxyAuthentication
Obtenir les identifiants du point de terminaison statique configurégetStaticProxyCredentials, une extension Kotlin exposée à Java via ProxyUtils
Ouvrir une URL avec la sélection de proxy de la plateformeHttpConnectionUtils.openConnection(location) ou openHttpConnection(location)

Pour l'API de migration que représentent les sources d'IntelliJ Platform de 2024, ces types réseau se trouvent dans com.intellij.util.net. Par exemple, Kotlin peut inspecter la configuration et rechercher les identifiants connus d'un proxy statique sans invite :

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

L'assistant exige un ProxyCredentialProvider ; la référence de méthode adapte le service d'authentification à cette interface. Les identifiants sont recherchés d'après l'hôte et le port du proxy configuré. Un résultat nul peut signifier que la configuration n'est pas statique ; il n'établit donc pas qu'un proxy sélectionné par PAC n'a pas besoin d'authentification.

Lorsque la tâche réelle est d'émettre une requête HTTP, utilisez l'assistant de connexion de la plateforme au lieu de reconstruire le routage à partir des champs d'hôte et de port. Il consulte le sélecteur de proxy de la plateforme pour l'URL de destination. Convertir une configuration statique avec asJavaProxy() ne respecte pas sa liste d'exceptions et n'implémente pas la sélection PAC.

Si une authentification interactive est requise, ProxyAuthentication.getPromptedAuthentication(prompt, host, port) est une opération distincte et potentiellement bloquante. Conservez cette distinction lors de la migration du code et vérifiez la disponibilité de l'API par rapport au Platform SDK minimal pris en charge par le plugin.

Articles similaires