Proxy.HttpConnectCallback

public abstract class Proxy.HttpConnectCallback


HTTP CONNECT üzerinden oluşturulan tünelleri kontrol eder. Tüm yöntemler, createHttpProxy içinde belirtilen Executor üzerinde çağrılır.

Bu sınıftaki yöntemler yalnızca aşağıdaki koşulların her ikisi de doğru olduğunda çağrılır:

- HttpEngine must establish a connection to the destination of an HTTP request
- The destination of the HTTP request has an https URI scheme
CronetEngine'in HTTP proxy üzerinden tünel oluşturup oluşturmayacağına nasıl karar verdiğini anlamak için createHttpProxy dokümanlarına bakın.

Özet

İç içe yerleştirilmiş türler

onResponseReceived çağrıldığında gerçekleştirilebilecek işlemler.

public abstract class Proxy.HttpConnectCallback.Request implements AutoCloseable

Proxy sunucusuna gönderilen bir HTTP CONNECT isteğini temsil eder.

Sabitler

static final int

Tünel bağlantısını kapatır ve HTTP istekleri göndermek için kullanılmasını engeller.

static final int

Tünel oluşturma işlemine devam eder.

Herkese açık oluşturucular

Herkese açık yöntemler

abstract void

Tünel oluşturmak için proxy'ye HTTP CONNECT isteği göndermeden önce çağrılır.

abstract int

Tünel oluşturmak için proxy'ye gönderilen HTTP CONNECT isteğine yanıt alındıktan sonra çağrılır.

Sabitler

RESPONSE_ACTION_CLOSE

public static final int RESPONSE_ACTION_CLOSE = 0

Tünel bağlantısını kapatır ve HTTP istekleri göndermek için kullanılmasını engeller.

Tünel bağlantısı kapatıldığında CronetEngine, bunu ilişkili Proxy'nın kullanılamaması olarak yorumlar. CronetEngine daha sonra ProxyOptions'ye iletilen listedeki bir sonraki Proxy'yı dener (daha fazla bilgi için bu sınıfın belgelerine bakın).

RESPONSE_ACTION_PROCEED

public static final int RESPONSE_ACTION_PROCEED = 1

Tünel oluşturma işlemine devam eder.

Bu, tünelin başarılı bir şekilde oluşturulacağını ve HTTP istekleri göndermek için kullanılacağını garanti etmez. CronetEngine, bundan önce ek kontroller gerçekleştirir. CronetEngine, sonuçlarına bağlı olarak tünel bağlantısını kapatmaya karar verebilir. Tünel bağlantısı CronetEngine tarafından kapatılırsa ilişkili Proxy'nın kullanılamadığı kabul edilir. CronetEngine daha sonra Proxy listesinde ProxyOptions'ye iletilen bir sonraki Proxy'yı dener (daha fazla bilgi için bu sınıfın belgelerine bakın).

Herkese açık oluşturucular

HttpConnectCallback

public HttpConnectCallback()

Herkese açık yöntemler

onBeforeRequest

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

Tünel oluşturmak için proxy'ye HTTP CONNECT isteği göndermeden önce çağrılır.

İsteği proxy'ye göndermeden önce değiştirmenize veya iptal etmenize olanak tanır. İsteğin nasıl değiştirilebileceğini/iptal edilebileceğini öğrenmek için Request başlıklı makaleyi inceleyin.

Parametreler
@NonNull Proxy.HttpConnectCallback.Request request

Proxy'ye gönderilecek HTTP CONNECT isteğini temsil eder.

onResponseReceived

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

Tünel oluşturmak için proxy'ye gönderilen HTTP CONNECT isteğine yanıt alındıktan sonra çağrılır. Başlıkların ve durum kodunun okunmasına izin verir.

CronetEngine, https URI şeması olan bir hedefe HTTP istekleri gönderirken onResponseReceived geri çağırma işlevi çağrılmamış bir proxy'yi asla kullanmaz.

Bu işlev, tünel oluşturulduktan sonra tünelden geçecek HTTP istekleri için çağrılmaz.

Bu yöntem herhangi bir java.lang.Throwable oluşturursa tünelin durumu, RESPONSE_ACTION_CLOSE döndürülmüş gibi olur (java.lang.Throwable yakalanmaz).

Parametreler
@NonNull List<Pair<StringString>> responseHeaders

HTTP CONNECT isteğine verilen yanıtta bulunan başlıkların listesi.

int statusCode

HTTP CONNECT isteğine verilen yanıtta bulunan HTTP durum kodu.

İadeler
int

Bu tünel bağlantısıyla ne yapılması gerektiğini gösteren bir OnResponseReceivedAction değeri. OnResponseReceivedAction belgelerine bakın.