Proxy.HttpConnectCallback

public 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.

public abstract class Proxy.HttpConnectCallback.Request implements AutoCloseable

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

Constantes

static final int

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

static final int

Poursuit l'établissement d'un tunnel.

Constructeurs publics

Méthodes publiques

abstract void

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

public static final int RESPONSE_ACTION_CLOSE = 0

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

public static final int RESPONSE_ACTION_PROCEED = 1

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

public HttpConnectCallback()

Méthodes publiques

onBeforeRequest

public abstract void onBeforeRequest(@NonNull Proxy.HttpConnectCallback.Request request)

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 découvrir comment manipuler/annuler une requête.

Paramètres
@NonNull Proxy.HttpConnectCallback.Request request

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

onResponseReceived

@Proxy.HttpConnectCallback.OnResponseReceivedAction
public abstract int onResponseReceived(
    @NonNull List<Pair<StringString>> responseHeaders,
    int statusCode
)

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 de 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
@NonNull List<Pair<StringString>> responseHeaders

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

int statusCode

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.