Proxy.HttpConnectCallback

abstract class Proxy.HttpConnectCallback


Contrôle les tunnels établis via HTTP CONNECT. Toutes les méthodes seront appelées sur l'exécuteur spécifié dans createHttpProxy.

Les méthodes de cette classe ne sont appelées que lorsque les deux conditions suivantes sont remplies :

- HttpEngine must establish a connection to the destination of an HTTP request
- The destination of the HTTP request has an https URI scheme
Consultez la documentation de createHttpProxy pour comprendre comment CronetEngine décide d'établir un tunnel via un proxy HTTP.

Résumé

Types imbriqués

Actions pouvant être effectuées en réponse à l'appel de onResponseReceived.

Représente une requête HTTP CONNECT envoyée au serveur proxy.

Constantes

const Int

Ferme la connexion tunnel, l'empêchant d'être utilisée pour envoyer des requêtes HTTP.

const Int

Poursuit l'établissement d'un tunnel.

Constructeurs publics

Fonctions publiques

abstract Unit

Appelée avant l'envoi d'une requête HTTP CONNECT au proxy pour établir un tunnel.

abstract Int

Appelée après la réception d'une réponse à la requête HTTP CONNECT envoyée au proxy pour établir un tunnel.

Constantes

RESPONSE_ACTION_CLOSE

const val RESPONSE_ACTION_CLOSE = 0: Int

Ferme la connexion tunnel, l'empêchant d'être utilisée pour envoyer des requêtes HTTP.

Lorsqu'une connexion tunnel est fermée, CronetEngine l'interprète comme un échec d'utilisation du Proxy associé. CronetEngine tente ensuite le Proxy suivant dans la liste transmise à ProxyOptions (pour en savoir plus, consultez la documentation de cette classe).

RESPONSE_ACTION_PROCEED

const val RESPONSE_ACTION_PROCEED = 1: Int

Poursuit l'établissement d'un tunnel.

Cela ne garantit pas que le tunnel sera établi et utilisé pour envoyer des requêtes HTTP : CronetEngine effectuera des vérifications supplémentaires avant cela. En fonction de leur résultat, CronetEngine peut toujours décider de fermer la connexion tunnel. Si la connexion tunnel est fermée par CronetEngine, elle sera considérée comme un échec d'utilisation du Proxy associé. CronetEngine tente ensuite le Proxy suivant dans la liste transmise à ProxyOptions (pour en savoir plus, consultez la documentation de cette classe).

Constructeurs publics

HttpConnectCallback

HttpConnectCallback()

Fonctions publiques

onBeforeRequest

abstract fun onBeforeRequest(request: Proxy.HttpConnectCallback.Request): Unit

Appelée avant l'envoi d'une requête HTTP CONNECT au proxy pour établir un tunnel.

Permet de manipuler ou d'annuler ladite requête avant de l'envoyer au proxy. Consultez Request pour savoir comment une requête peut être manipulée/annulée.

Paramètres
request: Proxy.HttpConnectCallback.Request

Représente la requête HTTP CONNECT qui sera envoyée au proxy.

onResponseReceived

@Proxy.HttpConnectCallback.OnResponseReceivedAction
abstract fun onResponseReceived(
    responseHeaders: (Mutable)List<Pair<String!, String!>!>,
    statusCode: Int
): Int

Appelée après la réception d'une réponse à la requête HTTP CONNECT envoyée au proxy pour établir un tunnel. Permet de lire les en-têtes et le code d'état.

Lors de l'envoi de requêtes HTTP à une destination avec un schéma d'URI https, CronetEngine n'utilise jamais un proxy dont le rappel onResponseReceived n'a pas été appelé.

Cette méthode n'est pas appelée pour les requêtes HTTP qui passeront par le tunnel une fois celui-ci établi.

Si cette méthode génère un java.lang.Throwable, le sort du tunnel sera le même que si RESPONSE_ACTION_CLOSE avait été renvoyé (le java.lang.Throwable ne sera pas intercepté).

Paramètres
responseHeaders: (Mutable)List<Pair<String!, String!>!>

Liste des en-têtes contenus dans la réponse à la requête HTTP CONNECT.

statusCode: Int

Code d'état HTTP contenu dans la réponse à la requête HTTP CONNECT.

Renvoie
Int

Valeur OnResponseReceivedAction représentant ce qui doit être fait avec cette connexion tunnel. Consultez la documentation OnResponseReceivedAction.