ImplicitFlowControlCallback

abstract class ImplicitFlowControlCallback : UrlRequest.Callback

既知の直接サブクラス
InMemoryTransformCronetCallback

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

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

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

JsonCronetCallback

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

StringCronetCallback

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


リクエストのライフサイクル管理の難しさを解消し、レスポンスの読み取りを自動的に進める UrlRequest.Callback の実装。

概要

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

パブリック関数

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

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

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

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

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

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

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

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

Unit

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

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

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

プロテクト関数

abstract Unit

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

abstract Unit

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

abstract Unit
onFailed(info: UrlResponseInfo?, exception: CronetException!)

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

abstract Unit

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

abstract Unit

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

abstract Boolean
shouldFollowRedirect(info: UrlResponseInfo!, newLocationUrl: String!)

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

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

ImplicitFlowControlCallback

ImplicitFlowControlCallback()

パブリック関数

onCanceled

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

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

パラメータ
request: UrlRequest!

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

info: UrlResponseInfo!

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

onFailed

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

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

パラメータ
request: UrlRequest!

失敗したリクエスト。

info: UrlResponseInfo!

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

error: CronetException!

エラーに関する情報。

onReadCompleted

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

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

パラメータ
request: UrlRequest!

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

info: UrlResponseInfo!

レスポンス情報。

byteBuffer: ByteBuffer!

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

例外
java.lang.Exception

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

onRedirectReceived

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

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

パラメータ
request: UrlRequest!

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

info: UrlResponseInfo!

レスポンス情報。

newLocationUrl: String!

リクエストがリダイレクトされるロケーション。

例外
java.lang.Exception

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

onResponseStarted

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

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

パラメータ
request: UrlRequest!

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

info: UrlResponseInfo!

レスポンス情報。

例外
java.lang.Exception

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

onSucceeded

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

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

パラメータ
request: UrlRequest!

成功したリクエスト。

info: UrlResponseInfo!

レスポンス情報。

プロテクト関数

onBodyChunkRead

protected abstract fun onBodyChunkRead(info: UrlResponseInfo!, bodyChunk: ByteBuffer!): Unit

レスポンス本文の一部が読み取られるたびに呼び出されます。レスポンス本文全体がまだ消費されていない場合でも、バッファの一部のみが入力されることがあります。バッファを読み取る準備が整いました。バッファは内部で再利用されるため、実装クラスはバッファを保存したり、このメソッドの実装以外で使用したりしないでください。

パラメータ
info: UrlResponseInfo!

レスポンス情報。

bodyChunk: ByteBuffer!

受信したデータを含むバッファ。読み取り用に反転されています。

例外
java.lang.Exception

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

onCanceled

protected abstract fun onCanceled(info: UrlResponseInfo?): Unit

cancel を介してリクエストがキャンセルされた場合に呼び出されます。一度呼び出されると、他の UrlRequest.Callback メソッドは呼び出されません。

パラメータ
info: UrlResponseInfo?

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

onFailed

protected abstract fun onFailed(info: UrlResponseInfo?, exception: CronetException!): Unit

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

パラメータ
info: UrlResponseInfo?

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

exception: CronetException!

エラーに関する情報。

onResponseStarted

protected abstract fun onResponseStarted(info: UrlResponseInfo!): Unit

すべてのリダイレクト後のヘッダーの最終セットが受信されたときに呼び出されます。リクエストごとに 1 回のみ呼び出されます。このメソッドが戻るまで、Cronet が本文の読み取りを開始しないことが保証されます。

パラメータ
info: UrlResponseInfo!

レスポンス情報。

例外
java.lang.Exception

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

onSucceeded

protected abstract fun onSucceeded(info: UrlResponseInfo!): Unit

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

パラメータ
info: UrlResponseInfo!

レスポンス情報。

shouldFollowRedirect

protected abstract fun shouldFollowRedirect(info: UrlResponseInfo!, newLocationUrl: String!): Boolean

リダイレクトが発生するたびに呼び出されます。これは、startonResponseStarted() の呼び出しの間にのみ呼び出されます。リダイレクト レスポンスの本文(存在する場合)は無視されます。

パラメータ
info: UrlResponseInfo!

レスポンス情報。

newLocationUrl: String!

リクエストがリダイレクトされるロケーション。

戻り値
Boolean

リダイレクトをフォローする場合は true、リクエストをキャンセルする場合は false。

例外
java.lang.Exception

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