Proxy.HttpConnectCallback

public abstract class Proxy.HttpConnectCallback


Steuert Tunnel, die über HTTP CONNECT eingerichtet wurden. Alle Methoden werden im Executor aufgerufen, der in createHttpProxy angegeben ist.

Methoden in dieser Klasse werden nur aufgerufen, wenn beide folgenden Bedingungen erfüllt sind:

- HttpEngine must establish a connection to the destination of an HTTP request
- The destination of the HTTP request has an https URI scheme
In der Dokumentation zu createHttpProxy wird beschrieben, wie CronetEngine entscheidet, ob ein Tunnel über einen HTTP-Proxy eingerichtet werden soll.

Zusammenfassung

Verschachtelte Typen

Aktionen, die als Reaktion auf den Aufruf von onResponseReceived ausgeführt werden können.

public abstract class Proxy.HttpConnectCallback.Request implements AutoCloseable

Stellt eine HTTP CONNECT-Anfrage dar, die an den Proxyserver gesendet wird.

Konstanten

static final int

Schließt die Tunnelverbindung, sodass sie nicht zum Senden von HTTP-Anfragen verwendet werden kann.

static final int

Fährt mit dem Einrichten eines Tunnels fort.

Öffentliche Konstruktoren

Öffentliche Methoden

abstract void

Wird aufgerufen, bevor eine HTTP CONNECT-Anfrage an den Proxy gesendet wird, um einen Tunnel einzurichten.

abstract int

Wird aufgerufen, nachdem eine Antwort auf die HTTP CONNECT-Anfrage empfangen wurde, die an den Proxy gesendet wurde, um einen Tunnel einzurichten.

Konstanten

RESPONSE_ACTION_CLOSE

public static final int RESPONSE_ACTION_CLOSE = 0

Schließt die Tunnelverbindung, sodass sie nicht zum Senden von HTTP-Anfragen verwendet werden kann.

Wenn eine Tunnelverbindung geschlossen wird, interpretiert CronetEngine dies als Fehler bei der Verwendung des zugehörigen Proxy. CronetEngine versucht dann den nächsten Proxy in der Liste, die an ProxyOptions übergeben wurde. Weitere Informationen finden Sie in der Dokumentation zu dieser Klasse.

RESPONSE_ACTION_PROCEED

public static final int RESPONSE_ACTION_PROCEED = 1

Fährt mit dem Einrichten eines Tunnels fort.

Dies garantiert nicht, dass der Tunnel erfolgreich eingerichtet und zum Senden von HTTP-Anfragen verwendet wird. CronetEngine führt vorher zusätzliche Prüfungen durch. Je nach Ergebnis kann CronetEngine die Tunnelverbindung trotzdem schließen. Wenn die Tunnelverbindung von CronetEngine geschlossen wird, wird dies als Fehler bei der Verwendung des zugehörigen Proxy betrachtet. CronetEngine versucht dann den nächsten Proxy in der Liste, die an ProxyOptions übergeben wurde. Weitere Informationen finden Sie in der Dokumentation zu dieser Klasse.

Öffentliche Konstruktoren

HttpConnectCallback

public HttpConnectCallback()

Öffentliche Methoden

onBeforeRequest

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

Wird aufgerufen, bevor eine HTTP CONNECT-Anfrage an den Proxy gesendet wird, um einen Tunnel einzurichten.

Ermöglicht das Bearbeiten oder Abbrechen der Anfrage, bevor sie an den Proxy gesendet wird. Unter Request erfahren Sie, wie eine Anfrage bearbeitet oder abgebrochen werden kann.

Parameter
@NonNull Proxy.HttpConnectCallback.Request request

Stellt die HTTP CONNECT-Anfrage dar, die an den Proxy gesendet wird.

onResponseReceived

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

Wird aufgerufen, nachdem eine Antwort auf die HTTP CONNECT-Anfrage empfangen wurde, die an den Proxy gesendet wurde, um einen Tunnel einzurichten. Ermöglicht das Lesen von Headern und Statuscode.

Wenn HTTP-Anfragen an ein Ziel mit einem https-URI-Schema gesendet werden, verwendet CronetEngine niemals einen Proxy, dessen onResponseReceived-Callback nicht aufgerufen wurde.

Diese Methode wird nicht für HTTP-Anfragen aufgerufen, die nach dem Einrichten des Tunnels über diesen gesendet werden.

Wenn diese Methode ein java.lang.Throwable auslöst, wird der Tunnel so behandelt, als wäre RESPONSE_ACTION_CLOSE zurückgegeben worden. Das java.lang.Throwable wird nicht abgefangen.

Parameter
@NonNull List<Pair<StringString>> responseHeaders

Die Liste der Header in der Antwort auf die HTTP CONNECT-Anfrage.

int statusCode

Der HTTP-Statuscode in der Antwort auf die HTTP CONNECT-Anfrage.

Gibt Folgendes zurück:
int

Ein OnResponseReceivedAction-Wert, der angibt, was mit dieser Tunnelverbindung geschehen soll. Weitere Informationen finden Sie in der Dokumentation zu OnResponseReceivedAction.