InMemoryTransformCronetCallback

abstract class InMemoryTransformCronetCallback<T> : ImplicitFlowControlCallback

既知の直接サブクラス
ByteArrayCronetCallback

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

JsonCronetCallback

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

StringCronetCallback

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


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

リクエストの完了リスナーをコールバックに追加することで、リクエストの更新を購読できます。リクエストが終了状態に達すると、mListeners に追加順に通知されます。

パラメータ
<T>

レスポンスの本文のタイプ

概要

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

パブリック関数

ImplicitFlowControlCallback!

完了リスナーを追加します。

プロテクト関数

Unit

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

Unit

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

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

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

Unit

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

Unit

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

abstract T!

プレーンな本文をユーザー定義のオブジェクトに変換(逆シリアル化)します。

継承される関数

org.chromium.net.apihelpers.ImplicitFlowControlCallback から
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 Boolean
shouldFollowRedirect(info: UrlResponseInfo!, newLocationUrl: String!)

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

org.chromium.net.UrlRequest.Callback から
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!
)

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

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

InMemoryTransformCronetCallback

InMemoryTransformCronetCallback()

パブリック関数

addCompletionListener

fun addCompletionListener(listener: CronetRequestCompletionListener<T!>!): ImplicitFlowControlCallback!

完了リスナーを追加します。リクエストが終了状態に達すると、すべてのリスナーに追加順に通知されます。リスナーが複数回追加された場合、最初にリスナーが追加されたタイミングで 1 回だけ呼び出されます。

プロテクト関数

onBodyChunkRead

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

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

パラメータ
info: UrlResponseInfo!

レスポンス情報。

bodyChunk: ByteBuffer!

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

例外
java.lang.Exception

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

onCanceled

protected fun onCanceled(info: UrlResponseInfo?): Unit

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

パラメータ
info: UrlResponseInfo?

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

onFailed

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

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

パラメータ
info: UrlResponseInfo?

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

exception: CronetException!

エラーに関する情報。

onResponseStarted

protected fun onResponseStarted(info: UrlResponseInfo!): Unit

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

パラメータ
info: UrlResponseInfo!

レスポンス情報。

例外
java.lang.Exception

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

onSucceeded

protected fun onSucceeded(info: UrlResponseInfo!): Unit

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

パラメータ
info: UrlResponseInfo!

レスポンス情報。

transformBodyBytes

protected abstract fun transformBodyBytes(info: UrlResponseInfo!, bodyBytes: ByteArray!): T!

プレーンな本文をユーザー定義のオブジェクトに変換(逆シリアル化)します。

実装クラスは、エッジケース(空の本文や不正な形式の本文など)を適切に処理することを前提としています。Cronet はオブジェクトを検査せず、オブジェクト(または例外)をリクエストの発行者に渡します。