UrlRequest.Callback

public abstract class UrlRequest.Callback

Subclass langsung yang dikenal
ImplicitFlowControlCallback

Implementasi UrlRequest.Callback yang menghilangkan kesulitan dalam mengelola siklus proses permintaan, dan otomatis melanjutkan untuk membaca respons sepenuhnya.

Subclass tidak langsung yang dikenal
ByteArrayCronetCallback

Spesialisasi InMemoryTransformCronetCallback yang menampilkan byte isi secara verbatim tanpa interpretasi apa pun.

InMemoryTransformCronetCallback

Callback Cronet abstrak yang membaca seluruh isi ke memori dan secara opsional melakukan deserialisasi isi sebelum meneruskannya kembali ke penerbit permintaan HTTP.

JsonCronetCallback

Spesialisasi InMemoryTransformCronetCallback yang menafsirkan isi respons sebagai JSON.

StringCronetCallback

Spesialisasi InMemoryTransformCronetCallback yang menafsirkan isi respons sebagai string.


Pengguna Cronet memperluas class ini untuk menerima callback yang menunjukkan progres UrlRequest yang sedang diproses. Instance class ini diteruskan ke UrlRequest.Builder's constructor saat membuat UrlRequest.

Catatan: Semua metode akan dipanggil di thread java.util.concurrent.Executor yang digunakan selama pembuatan UrlRequest.

Ringkasan

Konstruktor publik

Metode publik

void

Dipanggil jika permintaan dibatalkan melalui cancel.

abstract void
onFailed(
    UrlRequest request,
    UrlResponseInfo info,
    CronetException error
)

Dipanggil jika permintaan gagal karena alasan apa pun setelah start.

abstract void
onReadCompleted(
    UrlRequest request,
    UrlResponseInfo info,
    ByteBuffer byteBuffer
)

Dipanggil setiap kali isi respons telah dibaca.

abstract void
onRedirectReceived(
    UrlRequest request,
    UrlResponseInfo info,
    String newLocationUrl
)

Dipanggil setiap kali pengalihan ditemukan.

abstract void

Dipanggil saat kumpulan header terakhir, setelah semua pengalihan, diterima.

abstract void

Dipanggil saat permintaan berhasil diselesaikan.

Konstruktor publik

Callback

public Callback()

Metode publik

onCanceled

public void onCanceled(UrlRequest request, UrlResponseInfo info)

Dipanggil jika permintaan dibatalkan melalui cancel. Setelah dipanggil, tidak ada metode Callback lain yang akan dipanggil. Implementasi default tidak melakukan tindakan apa pun.

Parameter
UrlRequest request

Permintaan yang dibatalkan.

UrlResponseInfo info

Informasi respons. Mungkin null jika tidak ada respons yang diterima.

onFailed

public abstract void onFailed(
    UrlRequest request,
    UrlResponseInfo info,
    CronetException error
)

Dipanggil jika permintaan gagal karena alasan apa pun setelah start. Setelah dipanggil, tidak ada metode Callback lain yang akan dipanggil. error memberikan informasi tentang kegagalan.

Parameter
UrlRequest request

Permintaan yang gagal.

UrlResponseInfo info

Informasi respons. Mungkin null jika tidak ada respons yang diterima.

CronetException error

Informasi tentang error.

onReadCompleted

public abstract void onReadCompleted(
    UrlRequest request,
    UrlResponseInfo info,
    ByteBuffer byteBuffer
)

Dipanggil setiap kali isi respons telah dibaca. Hanya sebagian buffer yang dapat diisi, meskipun seluruh isi respons belum digunakan. Dengan pengecualian onCanceled(), tidak ada metode Callback lain yang akan dipanggil untuk permintaan, termasuk onSucceeded() dan onFailed(), hingga UrlRequest.read() dipanggil untuk mencoba melanjutkan membaca isi respons.

Parameter
UrlRequest request

Permintaan yang menerima data.

UrlResponseInfo info

Informasi respons.

ByteBuffer byteBuffer

Buffer yang diteruskan ke UrlRequest.read(), yang kini berisi data yang diterima. Posisi buffer diperbarui ke akhir data yang diterima. Batas buffer tidak diubah.

Menampilkan
java.lang.Exception

jika terjadi error saat memproses penyelesaian baca. onFailed akan dipanggil dengan pengecualian yang ditampilkan ditetapkan sebagai penyebab CallbackException.

onRedirectReceived

public abstract void onRedirectReceived(
    UrlRequest request,
    UrlResponseInfo info,
    String newLocationUrl
)

Dipanggil setiap kali pengalihan ditemukan. Metode ini hanya akan dipanggil antara panggilan ke start dan onResponseStarted(). Isi respons pengalihan, jika ada, akan diabaikan. Pengalihan tidak akan diikuti hingga metode followRedirect URLRequest dipanggil, baik secara sinkron maupun asinkron.

Parameter
UrlRequest request

Permintaan yang dialihkan.

UrlResponseInfo info

Informasi respons.

String newLocationUrl

Lokasi tempat permintaan dialihkan.

Menampilkan
java.lang.Exception

jika terjadi error saat memproses pengalihan. onFailed akan dipanggil dengan pengecualian yang ditampilkan ditetapkan sebagai penyebab CallbackException.

onResponseStarted

public abstract void onResponseStarted(UrlRequest request, UrlResponseInfo info)

Dipanggil saat kumpulan header terakhir, setelah semua pengalihan, diterima. Hanya akan dipanggil sekali untuk setiap permintaan. Dengan pengecualian onCanceled(), tidak ada metode Callback lain yang akan dipanggil untuk permintaan, termasuk onSucceeded() dan onFailed(), hingga UrlRequest.read() dipanggil untuk mencoba memulai membaca isi respons.

Parameter
UrlRequest request

Permintaan yang mulai mendapatkan respons.

UrlResponseInfo info

Informasi respons.

Menampilkan
java.lang.Exception

jika terjadi error saat memproses awal respons. onFailed akan dipanggil dengan pengecualian yang ditampilkan ditetapkan sebagai penyebab CallbackException.

onSucceeded

public abstract void onSucceeded(UrlRequest request, UrlResponseInfo info)

Dipanggil saat permintaan berhasil diselesaikan. Setelah dipanggil, tidak ada metode Callback lain yang akan dipanggil.

Parameter
UrlRequest request

Permintaan yang berhasil.

UrlResponseInfo info

Informasi respons.