Proxy.HttpConnectCallback

abstract class Proxy.HttpConnectCallback


Mengontrol tunnel yang dibuat melalui HTTP CONNECT. Semua metode akan dipanggil ke Executor yang ditentukan dalam createHttpProxy.

Metode dalam class ini hanya dipanggil jika kedua hal berikut berlaku:

- HttpEngine must establish a connection to the destination of an HTTP request
- The destination of the HTTP request has an https URI scheme
Lihat dokumentasi createHttpProxy untuk memahami cara CronetEngine memutuskan apakah akan membuat tunnel melalui proxy HTTP.

Ringkasan

Jenis bertingkat

Tindakan yang dapat dilakukan sebagai respons terhadap panggilan onResponseReceived.

Mewakili permintaan HTTP CONNECT yang dikirim ke server proxy.

Konstanta

const Int

Menutup koneksi tunnel, sehingga tidak dapat digunakan untuk mengirim permintaan HTTP.

const Int

Melanjutkan pembuatan tunnel.

Konstruktor publik

Fungsi publik

abstract Unit

Dipanggil sebelum mengirim permintaan HTTP CONNECT ke proxy untuk membuat tunnel.

abstract Int

Dipanggil setelah menerima respons terhadap permintaan HTTP CONNECT yang dikirim ke proxy untuk membuat tunnel.

Konstanta

RESPONSE_ACTION_CLOSE

const val RESPONSE_ACTION_CLOSE = 0: Int

Menutup koneksi tunnel, sehingga tidak dapat digunakan untuk mengirim permintaan HTTP.

Saat koneksi tunnel ditutup, CronetEngine akan menafsirkannya sebagai kegagalan penggunaan Proxy terkait. Kemudian, CronetEngine akan mencoba Proxy berikutnya dalam daftar yang diteruskan ke ProxyOptions (lihat dokumentasi class tersebut untuk mengetahui info selengkapnya).

RESPONSE_ACTION_PROCEED

const val RESPONSE_ACTION_PROCEED = 1: Int

Melanjutkan pembuatan tunnel.

Hal ini tidak menjamin bahwa tunnel akan berhasil dibuat dan digunakan untuk mengirim permintaan HTTP: CronetEngine akan melakukan pemeriksaan tambahan sebelum itu. Bergantung pada hasilnya, CronetEngine mungkin masih memutuskan untuk menutup koneksi tunnel. Jika koneksi tunnel akhirnya ditutup oleh CronetEngine, hal ini akan dianggap sebagai kegagalan dalam menggunakan Proxy terkait. CronetEngine kemudian akan mencoba Proxy berikutnya dalam daftar yang diteruskan ke ProxyOptions (lihat dokumentasi class tersebut untuk mengetahui info selengkapnya)

Konstruktor publik

HttpConnectCallback

HttpConnectCallback()

Fungsi publik

onBeforeRequest

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

Dipanggil sebelum mengirim permintaan HTTP CONNECT ke proxy untuk membuat tunnel.

Memungkinkan manipulasi, atau pembatalan, permintaan tersebut sebelum mengirimkannya ke proxy. Lihat Request untuk mempelajari cara permintaan dapat dimanipulasi/dibatalkan.

Parameter
request: Proxy.HttpConnectCallback.Request

Mewakili permintaan HTTP CONNECT yang akan dikirim ke proxy.

onResponseReceived

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

Dipanggil setelah menerima respons terhadap permintaan HTTP CONNECT yang dikirim ke proxy untuk membuat tunnel. Mengizinkan pembacaan header dan kode status.

Saat mengirim permintaan HTTP ke tujuan dengan skema URI https, CronetEngine tidak akan pernah menggunakan proxy yang callback onResponseReceived-nya belum dipanggil.

Metode ini tidak akan dipanggil untuk permintaan HTTP yang akan melewati tunnel setelah tunnel dibuat.

Jika metode ini menampilkan java.lang.Throwable, nasib tunnel akan sama seperti jika RESPONSE_ACTION_CLOSE ditampilkan (java.lang.Throwable tidak akan tertangkap).

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

Daftar header yang ada dalam respons terhadap permintaan HTTP CONNECT.

statusCode: Int

Kode status HTTP yang terdapat dalam respons terhadap permintaan HTTP CONNECT.

Hasil
Int

Nilai OnResponseReceivedAction yang menunjukkan apa yang harus dilakukan dengan koneksi tunnel ini. Lihat dokumentasi OnResponseReceivedAction.