UrlRequest.Callback

abstract class UrlRequest.Callback

既知の直接サブクラス
ImplicitFlowControlCallback

UrlRequest.Callback の実装。リクエストのライフサイクルの管理の難しさを解消し、レスポンスの読み取りを自動的に最後まで行います。

既知の間接的なサブクラス
ByteArrayCronetCallback

InMemoryTransformCronetCallback の特殊化。解釈なしで本文のバイトをそのまま返します。

InMemoryTransformCronetCallback

本文全体をメモリに読み取り、必要に応じて本文を逆シリアル化してから HTTP リクエストの発行元に渡す抽象 Cronet コールバック。

JsonCronetCallback

レスポンス本文を JSON として解釈する InMemoryTransformCronetCallback の特殊化。

StringCronetCallback

レスポンス本文を文字列として解釈する InMemoryTransformCronetCallback の特殊化。


Cronet のユーザーは、このクラスを拡張して、処理中の UrlRequest の進行状況を示すコールバックを受け取ります。このクラスのインスタンスは、UrlRequest.Builder の構築時に UrlRequest のコンストラクタに渡されます。

注: すべてのメソッドは、UrlRequest の構築時に使用される java.util.concurrent.Executor のスレッドで呼び出されます。

概要

パブリック コンストラクタ

パブリック関数

Unit
onCanceled(request: UrlRequest!, info: UrlResponseInfo!)

cancel を介してリクエストがキャンセルされた場合に呼び出されます。

abstract Unit
onFailed(
    request: UrlRequest!,
    info: UrlResponseInfo!,
    error: CronetException!
)

start の後、なんらかの理由でリクエストが失敗した場合に呼び出されます。

abstract Unit
onReadCompleted(
    request: UrlRequest!,
    info: UrlResponseInfo!,
    byteBuffer: ByteBuffer!
)

レスポンス本文の一部が読み取られるたびに呼び出されます。

abstract Unit
onRedirectReceived(
    request: UrlRequest!,
    info: UrlResponseInfo!,
    newLocationUrl: String!
)

リダイレクトが発生するたびに呼び出されます。

abstract Unit

すべてのリダイレクト後のヘッダーの最終セットが受信されたときに呼び出されます。

abstract Unit
onSucceeded(request: UrlRequest!, info: UrlResponseInfo!)

リクエストが正常に完了したときに呼び出されます。

パブリック コンストラクタ

コールバック

Callback()

パブリック関数

onCanceled

fun onCanceled(request: UrlRequest!, info: UrlResponseInfo!): Unit

cancel を介してリクエストがキャンセルされた場合に呼び出されます。一度呼び出されると、他の Callback メソッドは呼び出されません。デフォルトの実装では何も行いません。

パラメータ
request: UrlRequest!

キャンセルされたリクエスト。

info: UrlResponseInfo!

レスポンス情報。レスポンスが受信されなかった場合は null になることがあります。

onFailed

abstract fun onFailed(
    request: UrlRequest!,
    info: UrlResponseInfo!,
    error: CronetException!
): Unit

start の後、なんらかの理由でリクエストが失敗した場合に呼び出されます。一度呼び出されると、他の Callback メソッドは呼び出されません。error には失敗に関する情報が格納されます。

パラメータ
request: UrlRequest!

失敗したリクエスト。

info: UrlResponseInfo!

レスポンス情報。レスポンスが受信されなかった場合は null になることがあります。

error: CronetException!

エラーに関する情報。

onReadCompleted

abstract fun onReadCompleted(
    request: UrlRequest!,
    info: UrlResponseInfo!,
    byteBuffer: ByteBuffer!
): Unit

レスポンス本文の一部が読み取られるたびに呼び出されます。レスポンス本文全体がまだ使用されていない場合でも、バッファの一部のみが入力されることがあります。onCanceled() を除き、UrlRequest.read() が呼び出されてレスポンス本文の読み取りを続行しようとするまで、onSucceeded()onFailed() など、リクエストに対して他の Callback メソッドは呼び出されません。

パラメータ
request: UrlRequest!

データを受信したリクエスト。

info: UrlResponseInfo!

レスポンス情報。

byteBuffer: ByteBuffer!

UrlRequest.read() に渡されたバッファ。受信したデータが格納されています。バッファの位置は、受信したデータの末尾に更新されます。バッファの上限は変更されません。

例外
java.lang.Exception

読み取り完了の処理中にエラーが発生した場合。onFailed は、スローされた例外を CallbackException の原因として呼び出されます。

onRedirectReceived

abstract fun onRedirectReceived(
    request: UrlRequest!,
    info: UrlResponseInfo!,
    newLocationUrl: String!
): Unit

リダイレクトが発生するたびに呼び出されます。これは、start の呼び出しと onResponseStarted() の間にのみ呼び出されます。リダイレクト レスポンスの本文(存在する場合)は無視されます。URLRequest の followRedirect メソッドが同期または非同期で呼び出されるまで、リダイレクトは行われません。

パラメータ
request: UrlRequest!

リダイレクトされるリクエスト。

info: UrlResponseInfo!

レスポンス情報。

newLocationUrl: String!

リクエストがリダイレクトされる場所。

例外
java.lang.Exception

リダイレクトの処理中にエラーが発生した場合。onFailed は、スローされた例外を CallbackException の原因として呼び出されます。

onResponseStarted

abstract fun onResponseStarted(request: UrlRequest!, info: UrlResponseInfo!): Unit

すべてのリダイレクト後のヘッダーの最終セットが受信されたときに呼び出されます。リクエストごとに 1 回のみ呼び出されます。onCanceled() を除き、UrlRequest.read() が呼び出されてレスポンス本文の読み取りを開始しようとするまで、onSucceeded()onFailed() など、リクエストに対して他の Callback メソッドは呼び出されません。

パラメータ
request: UrlRequest!

レスポンスの取得を開始したリクエスト。

info: UrlResponseInfo!

レスポンス情報。

例外
java.lang.Exception

レスポンスの開始処理中にエラーが発生した場合。onFailed は、スローされた例外を CallbackException の原因として呼び出されます。

onSucceeded

abstract fun onSucceeded(request: UrlRequest!, info: UrlResponseInfo!): Unit

リクエストが正常に完了したときに呼び出されます。一度呼び出されると、他の Callback メソッドは呼び出されません。

パラメータ
request: UrlRequest!

成功したリクエスト。

info: UrlResponseInfo!

レスポンス情報。