JsonCronetCallback

abstract class JsonCronetCallback : InMemoryTransformCronetCallback


一种将响应正文解释为 JSON 的 InMemoryTransformCronetCallback 特殊化。

摘要

公共构造函数

公共函数

JsonCronetCallback!

添加完成监听器。

受保护的函数

JSONObject!

将纯完整正文转换为用户定义的对象(反序列化)。

继承的函数

来自 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.apihelpers.InMemoryTransformCronetCallback
Unit

在读取部分响应正文后调用。

Unit

如果请求是通过 cancel 取消的,则调用该方法。

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

start 之后,如果因任何原因导致请求失败,则调用此方法。

Unit

在收到最后一组标头(在所有重定向之后)时调用。

Unit

在请求成功完成时调用。

来自 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!
)

每当遇到重定向时调用。

公共构造函数

JsonCronetCallback

JsonCronetCallback()

公共函数

addCompletionListener

fun addCompletionListener(
    listener: CronetRequestCompletionListener<JSONObject!>!
): JsonCronetCallback!

添加完成监听器。当请求达到最终状态时,系统会按添加顺序通知所有监听器。如果监听器被添加多次,则系统只会根据其首次添加时间调用一次。

受保护的函数

transformBodyBytes

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

将纯完整正文转换为用户定义的对象(反序列化)。

假设实现类能够妥善处理边缘情况(例如空正文和格式错误的正文)。Cronet 不会检查对象,而是将对象(或任何异常)传递给请求的发布者。