已知直接子类 |
已知间接子类 |
Cronet 用户扩展此类以接收指示 UrlRequest
处理进度的回调。构建 UrlRequest
时,此类的实例会传递到 UrlRequest.Builder
的构造函数中。
注意:所有方法都将在构建 UrlRequest
期间使用的 Executor
的线程上调用。
公共构造函数摘要
Callback()
|
公共方法摘要
void | |
abstract void |
onFailed(UrlRequest request, UrlResponseInfo info, CronetException error)
如果在
UrlRequest.start() 之后请求因任何原因失败,则调用此方法。 |
abstract void |
onReadCompleted(UrlRequest request, UrlResponseInfo info, ByteBuffer byteBuffer)
每当响应主体的一部分被读取时调用此方法。
|
abstract void | |
abstract void | |
abstract void |
继承的方法摘要
公共构造函数
public Callback ()
公共方法
public void onCanceled (UrlRequest request, UrlResponseInfo info)
如果请求通过 UrlRequest.cancel()
被取消,则调用此方法。调用此方法后,不会再调用其他 UrlRequest.Callback
方法。默认实现不执行任何操作。
参数
request | 已取消的请求。 |
---|---|
info | 响应信息。如果未收到响应,则可能为 null 。 |
public abstract void onFailed (UrlRequest request, UrlResponseInfo info, CronetException error)
如果在 UrlRequest.start()
之后请求因任何原因失败,则调用此方法。调用此方法后,不会再调用其他 UrlRequest.Callback
方法。error
提供有关失败的信息。
参数
request | 失败的请求。 |
---|---|
info | 响应信息。如果未收到响应,则可能为 null 。 |
error | 错误的详细信息。 |
public abstract void onReadCompleted (UrlRequest request, UrlResponseInfo info, ByteBuffer byteBuffer)
每当响应主体的一部分被读取时调用此方法。即使尚未完全消耗整个响应主体,也可能只有部分缓冲区被填充。除了 onCanceled()
外,在调用 UrlRequest.read()
尝试继续读取响应主体之前,不会为该请求调用其他 UrlRequest.Callback
方法,包括 onSucceeded()
和 onFailed()
。
参数
request | 已接收数据的请求。 |
---|---|
info | 响应信息。 |
byteBuffer | 传递给 UrlRequest.read() 的缓冲区,现在包含接收到的数据。缓冲区的 position 会更新到接收到的数据末尾。缓冲区的 limit 不会改变。 |
抛出
Exception | 如果处理读取完成时发生错误。将调用 onFailed(UrlRequest, UrlResponseInfo, CronetException) ,其中抛出的异常会设置为 CallbackException 的原因。 |
---|
public abstract void onRedirectReceived (UrlRequest request, UrlResponseInfo info, String newLocationUrl)
每当遇到重定向时调用此方法。此方法仅在调用 UrlRequest.start()
和 onResponseStarted()
之间调用。重定向响应(如果存在)的主体将被忽略。只有在同步或异步调用 UrlRequest 的 UrlRequest.followRedirect()
方法后,才会跟随重定向。
参数
request | 正在重定向的请求。 |
---|---|
info | 响应信息。 |
newLocationUrl | 请求重定向到的位置。 |
抛出
Exception | 如果处理重定向时发生错误。将调用 onFailed(UrlRequest, UrlResponseInfo, CronetException) ,其中抛出的异常会设置为 CallbackException 的原因。 |
---|
public abstract void onResponseStarted (UrlRequest request, UrlResponseInfo info)
收到所有重定向后的最终头部集合时调用此方法。每个请求仅调用一次。除了 onCanceled()
外,在调用 UrlRequest.read()
尝试开始读取响应主体之前,不会为该请求调用其他 UrlRequest.Callback
方法,包括 onSucceeded()
和 onFailed()
。
参数
request | 已开始获取响应的请求。 |
---|---|
info | 响应信息。 |
抛出
Exception | 如果处理响应开始时发生错误。将调用 onFailed(UrlRequest, UrlResponseInfo, CronetException) ,其中抛出的异常会设置为 CallbackException 的原因。 |
---|
public abstract void onSucceeded (UrlRequest request, UrlResponseInfo info)
请求成功完成时调用此方法。调用此方法后,不会再调用其他 UrlRequest.Callback
方法。
参数
request | 已成功的请求。 |
---|---|
info | 响应信息。 |