Proxy.HttpConnectCallback

abstract class Proxy.HttpConnectCallback


Steuert Tunnel, die über HTTP CONNECT eingerichtet wurden. Alle Methoden werden für den in createHttpProxy angegebenen Executor aufgerufen.

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 erfahren Sie, 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.

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

Konstanten

const Int

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

const Int

Fährt mit dem Einrichten eines Tunnels fort.

Öffentliche Konstruktoren

Öffentliche Funktionen

abstract Unit

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

const val RESPONSE_ACTION_CLOSE = 0: Int

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

const val RESPONSE_ACTION_PROCEED = 1: Int

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, gilt 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.

Öffentliche Konstruktoren

HttpConnectCallback

HttpConnectCallback()

Öffentliche Funktionen

onBeforeRequest

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

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
request: Proxy.HttpConnectCallback.Request

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

onResponseReceived

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

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

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
responseHeaders: (Mutable)List<Pair<String!, String!>!>

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

statusCode: Int

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.