ImplicitFlowControlCallback

public abstract class ImplicitFlowControlCallback extends UrlRequest.Callback

既知の直接サブクラス
InMemoryTransformCronetCallback

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

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

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

JsonCronetCallback

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

StringCronetCallback

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


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

概要

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

パブリック メソッド

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 void

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

abstract void

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

abstract void

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

abstract void

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

abstract void

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

abstract boolean

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

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

ImplicitFlowControlCallback

public ImplicitFlowControlCallback()

パブリック メソッド

onCanceled

public final void onCanceled(UrlRequest request, UrlResponseInfo info)

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

パラメータ
UrlRequest request

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

UrlResponseInfo info

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

onFailed

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

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

パラメータ
UrlRequest request

失敗したリクエスト。

UrlResponseInfo info

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

CronetException error

エラーに関する情報。

onReadCompleted

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

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

パラメータ
UrlRequest request

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

UrlResponseInfo info

レスポンス情報。

ByteBuffer byteBuffer

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

例外
java.lang.Exception

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

onRedirectReceived

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

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

パラメータ
UrlRequest request

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

UrlResponseInfo info

レスポンス情報。

String newLocationUrl

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

例外
java.lang.Exception

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

onResponseStarted

public final void onResponseStarted(UrlRequest request, UrlResponseInfo info)

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

パラメータ
UrlRequest request

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

UrlResponseInfo info

レスポンス情報。

例外
java.lang.Exception

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

onSucceeded

public final void onSucceeded(UrlRequest request, UrlResponseInfo info)

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

パラメータ
UrlRequest request

成功したリクエスト。

UrlResponseInfo info

レスポンス情報。

保護されたメソッド

onBodyChunkRead

protected abstract void onBodyChunkRead(UrlResponseInfo info, ByteBuffer bodyChunk)

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

パラメータ
UrlResponseInfo info

レスポンス情報。

ByteBuffer bodyChunk

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

例外
java.lang.Exception

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

onCanceled

protected abstract void onCanceled(@Nullable UrlResponseInfo info)

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

パラメータ
@Nullable UrlResponseInfo info

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

onFailed

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

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

パラメータ
@Nullable UrlResponseInfo info

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

CronetException exception

エラーに関する情報。

onResponseStarted

protected abstract void onResponseStarted(UrlResponseInfo info)

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

パラメータ
UrlResponseInfo info

レスポンス情報。

例外
java.lang.Exception

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

onSucceeded

protected abstract void onSucceeded(UrlResponseInfo info)

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

パラメータ
UrlResponseInfo info

レスポンス情報。

shouldFollowRedirect

protected abstract boolean shouldFollowRedirect(UrlResponseInfo info, String newLocationUrl)

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

パラメータ
UrlResponseInfo info

レスポンス情報。

String newLocationUrl

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

戻り値
boolean

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

例外
java.lang.Exception

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