响应
Response是Kalle的核心类,在Interceptor和Request都提到过它的用法,通过Response可以获取到服务器响应时的code、headers和body(参考ResponseBody)。
一般情况下,开发者不会经常使用Response类,但是在拦截器中可能会使用到,比如拦截器中登录的Token/Cookie失效时后自动重新登录的例子。如果开发者想基于Kalle自行封装异步请求和下载请求,就可能会使用到Response类。
Response的Api如下:
public final class Response implements Closeable {
/**
* Get the mCode of response.
*/
public int code();
/**
* Get http headers.
*/
public Headers headers();
/**
* Get http body.
*/
public ResponseBody body();
/**
* It is a redirect response code.
*/
public boolean isRedirect();
Response的基础方法有如下三个:
code()方法是获取服务器响应码。headers()方法是获取服务器响应头。body()是获取服务器的响应包体,参考ResponseBody。
Response的扩展方法有两个:
close()是关闭当前包体的流,断开本次请求和服务器建立的连接。isRedirect()是判断当前响应是否需要重定向。
值得注意的是close()方法是实现了Closeable接口而得来的,不是由Response直接提供。