Proxy.HttpConnectCallback

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

public abstract class Proxy.HttpConnectCallback.Request implements AutoCloseable

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

Stałe

static final int

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

static final int

Kontynuuje ustanawianie tunelu.

Konstruktory publiczne

Metody publiczne

abstract void

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

public static final int RESPONSE_ACTION_CLOSE = 0

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

public static final int RESPONSE_ACTION_PROCEED = 1

Kontynuuje ustanawianie tunelu.

Nie gwarantuje to, że tunel zostanie pomyślnie ustanowiony i użyty do wysyłania żądań HTTP. CronetEngine przeprowadzi dodatkowe sprawdzenia. 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

public HttpConnectCallback()

Metody publiczne

onBeforeRequest

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

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

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

onResponseReceived

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

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 zamknięty tak, jakby zwrócono wartość RESPONSE_ACTION_CLOSE (java.lang.Throwable nie zostanie przechwycony).

Parametry
@NonNull List<Pair<StringString>> responseHeaders

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

int statusCode

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.