Proxy.HttpConnectCallback

abstract class Proxy.HttpConnectCallback


Kontroluje tunele ustanowione za pomocą HTTP CONNECT. Wszystkie metody będą wywoływane w egzekutorze określonym w createHttpProxy.

Metody w tej klasie są wywoływane tylko wtedy, gdy spełnione są oba te warunki:

- HttpEngine must establish a connection to the destination of an HTTP request
- The destination of the HTTP request has an https URI scheme
Aby dowiedzieć się, jak CronetEngine decyduje o ustanowieniu tunelu przez serwer proxy HTTP, zapoznaj się z dokumentacją createHttpProxy.

Podsumowanie

Typy zagnieżdżone

Działania, które można wykonać w odpowiedzi na wywołanie onResponseReceived.

Reprezentuje żądanie HTTP CONNECT wysyłane do serwera proxy.

Stałe

const Int

Zamyka połączenie tunelowe, uniemożliwiając jego użycie do wysyłania żądań HTTP.

const Int

Kontynuuje ustanawianie tunelu.

Konstruktory publiczne

Funkcje publiczne

abstract Unit

Wywoływana przed wysłaniem żądania HTTP CONNECT do serwera proxy w celu ustanowienia tunelu.

abstract Int

Wywoływana po otrzymaniu odpowiedzi na żądanie HTTP CONNECT wysłane do serwera proxy w celu ustanowienia tunelu.

Stałe

RESPONSE_ACTION_CLOSE

const val RESPONSE_ACTION_CLOSE = 0: Int

Zamyka połączenie tunelowe, uniemożliwiając jego użycie do wysyłania żądań HTTP.

Gdy połączenie tunelowe zostanie zamknięte, CronetEngine zinterpretuje to jako niepowodzenie użycia powiązanego Proxy. CronetEngine spróbuje wtedy użyć następnego Proxy na liście przekazanej do ProxyOptions (więcej informacji znajdziesz w dokumentacji tej klasy).

RESPONSE_ACTION_PROCEED

const val RESPONSE_ACTION_PROCEED = 1: Int

Kontynuuje ustanawianie tunelu.

Nie gwarantuje to, że tunel zostanie pomyślnie ustanowiony i użyty do wysyłania żądań HTTP. CronetEngine przeprowadzi dodatkowe kontrole. W zależności od ich wyniku CronetEngine może nadal zdecydować się na zamknięcie połączenia tunelowego. Jeśli połączenie tunelowe zostanie zamknięte przez CronetEngine, zostanie to uznane za niepowodzenie użycia powiązanego Proxy. CronetEngine spróbuje wtedy użyć następnego Proxy na liście przekazanej do ProxyOptions (więcej informacji znajdziesz w dokumentacji tej klasy).

Konstruktory publiczne

HttpConnectCallback

HttpConnectCallback()

Funkcje publiczne

onBeforeRequest

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

Wywoływana przed wysłaniem żądania HTTP CONNECT do serwera proxy w celu ustanowienia tunelu.

Umożliwia manipulowanie żądaniem lub jego anulowanie przed wysłaniem go do serwera proxy. Aby dowiedzieć się, jak można manipulować żądaniem lub je anulować, zapoznaj się z dokumentacją Request.

Parametry
request: Proxy.HttpConnectCallback.Request

Reprezentuje żądanie HTTP CONNECT, które zostanie wysłane do serwera proxy.

onResponseReceived

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

Wywoływana po otrzymaniu odpowiedzi na żądanie HTTP CONNECT wysłane do serwera proxy w celu ustanowienia tunelu. Umożliwia odczytywanie nagłówków i kodu stanu.

Podczas wysyłania żądań HTTP do miejsca docelowego z schematem URI https CronetEngine nigdy nie użyje serwera proxy, którego wywołanie zwrotne onResponseReceived nie zostało wywołane.

Nie zostanie wywołana w przypadku żądań HTTP, które po ustanowieniu tunelu będą przez niego przechodzić.

Jeśli ta metoda zgłosi wyjątek java.lang.Throwable, tunel zostanie potraktowany tak, jakby zwrócono RESPONSE_ACTION_CLOSE (java.lang.Throwable nie zostanie przechwycony).

Parametry
responseHeaders: (Mutable)List<Pair<String!, String!>!>

Lista nagłówków zawartych w odpowiedzi na żądanie HTTP CONNECT.

statusCode: Int

Kod stanu HTTP zawarty w odpowiedzi na żądanie HTTP CONNECT.

Zwraca
Int

Wartość OnResponseReceivedAction reprezentująca, co należy zrobić z tym połączeniem tunelowym. Zapoznaj się z dokumentacją OnResponseReceivedAction.