InMemoryTransformCronetCallback

public abstract class InMemoryTransformCronetCallback<T> extends ImplicitFlowControlCallback

既知の直接サブクラス
ByteArrayCronetCallback

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

JsonCronetCallback

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

StringCronetCallback

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


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

リクエスト元は、コールバックに完了 mListeners を追加することで、リクエストに関する更新情報をサブスクライブできます。リクエストがターミナル状態に達すると、mListeners に追加順に通知されます。

パラメータ
<T>

レスポンス本文のタイプ

概要

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

パブリック メソッド

ImplicitFlowControlCallback

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

保護されたメソッド

final void

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

final void

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

final void

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

final void

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

final void

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

abstract T
transformBodyBytes(UrlResponseInfo info, byte[] bodyBytes)

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

継承されるメソッド

継承元: org.chromium.net.apihelpers.ImplicitFlowControlCallback
final void

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

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

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

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

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

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

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

final void

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

final void

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

abstract boolean

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

継承元: org.chromium.net.UrlRequest.Callback
abstract void
onFailed(
    UrlRequest request,
    UrlResponseInfo info,
    CronetException error
)

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

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

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

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

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

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

InMemoryTransformCronetCallback

public InMemoryTransformCronetCallback()

パブリック メソッド

addCompletionListener

public ImplicitFlowControlCallback addCompletionListener(CronetRequestCompletionListener<T> listener)

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

保護されたメソッド

onBodyChunkRead

protected final void onBodyChunkRead(UrlResponseInfo info, ByteBuffer bodyChunk)

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

パラメータ
UrlResponseInfo info

レスポンス情報。

ByteBuffer bodyChunk

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

例外
java.lang.Exception

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

onCanceled

protected final void onCanceled(@Nullable UrlResponseInfo info)

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

パラメータ
@Nullable UrlResponseInfo info

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

onFailed

protected final void onFailed(@Nullable UrlResponseInfo info, CronetException exception)

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

パラメータ
@Nullable UrlResponseInfo info

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

CronetException exception

エラーに関する情報。

onResponseStarted

protected final void onResponseStarted(UrlResponseInfo info)

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

パラメータ
UrlResponseInfo info

レスポンス情報。

例外
java.lang.Exception

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

onSucceeded

protected final void onSucceeded(UrlResponseInfo info)

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

パラメータ
UrlResponseInfo info

レスポンス情報。

transformBodyBytes

protected abstract T transformBodyBytes(UrlResponseInfo info, byte[] bodyBytes)

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

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