Skip to content

Tags: rituosann/okhttps

Tags

V2.3.0

Toggle V2.3.0's commit message
update README.md

V2.2.0

Toggle V2.2.0's commit message
HttpTask 新增 isAsyncHttp 和 isSyncHttp 方法

V2.1.0

Toggle V2.1.0's commit message
Merge branch 'github' into dev

V2.0.1

Toggle V2.0.1's commit message
1、增强标签功能,可在拦截器内访问标签(2.0.1 之前只能在 预处理器 与 全局监听里访问标签)

2、优化 全局监听的 执行环境:始终在 IO 线程执行,不再受 回调执行器 与`nextOnIO`方法的影响
3、优化 Websocket 回调,同其它回调一样,统一接受回调执行器与`nextOnIO`方法的管理
4、优化 Websocket 请求机制:同 HTTP 请求一样,接受全局监听的管理,打开 Websocket 时,执行
responseListener,异常时,执行 exceptionListener,关闭时(包括异常)执行,completeListener
5、优化 okhttps-jackson 对基本类型数据的取值逻辑,兼容性更好
6、修复 Android 7+(SDK 24
以上)中,当在主线程里消费报文体时(调用Body#toXxx()方法),会引发android.os.NetworkOnMainThreadException异常问题
参见 ISSUE: troyzhxu#8

V2.0.0

Toggle V2.0.0's commit message
1、修复 HEAD 请求方法不可用问题

2、新增 head 便捷请求方法
3、HttpResult 新增 getContentLength() 方法,HttpResult.Body 新增 getType() 和
getLength() 方法
4、WebSocket.Close 新增 是否因 连接被取消 和 连接发生异常而关闭 的 判断
5、优化:WebSocket 无论连接被取消还是异常,都会走 onClose 回调
6、fix issue: https://gitee.com/ejlchina-zhxu/okhttps/issues/I1H8G9

V2.0.0.RC

Toggle V2.0.0.RC's commit message
新特性:

1、HTTP 请求新增`patch()`方法,可发起 PATCH
请求,目前直接支持的HTTP方法有:GET、POST、PUT、PATCH、DELETE;
2、HTTP 请求暴露`request(String
method)`方法,可自定义任何请求方法,比如:HEAD、OPTIONS、TRACE、CONNECT 等;
3、HTTP 请求新增`skipPreproc()`和`skipSerialPreproc()`,具体请求可跳过 所有 或只跳过 串行
预处理器;
4、新增`MsgConvertor`接口,实现 OkHttps 与 fastjson 解耦,且不再依赖某个具体 json 框架、甚至不依赖
json,它可以与 任何格式 的数据解析框架 集成,比如:json 解析框架、xml 解析框架、protobuf 解析框架等
5、HTTP 接口新增`webSocket(String url)`方法,支持连接预处理、消息数据自动序列化和反序列化机制、支持 Lamda
编程
6、HTTP.Buider 新增自定义默认编码(不自定义默认为 utf-8)功能,单个请求支持指定特殊编码
7、新增`OkHttps`工具类,支持 SPI 方式注入配置
8、构建 HTTP 实例时支持注入 多个 MsgConvertor,可实现同一个 HTTP 实例下,既有 json 解析,又有 xml
解析等强大特性。

API变化:

1、`HttpResult#Body#.toJsonObject()`修改为`HttpResult#Body#.toMapper()`,该方法返回一个`Mapper`实例(和
JsonObject 结构一样)。方法名之所以不再包含 Json 关键字,因为它可能根本就不是 json, 比如它是一个
xml,但是它都是一个具有 映射结构 的数据对象;
2、`HttpResult#Body#.toJsonArray()`修改为`HttpResult#Body#.toArray()`,该方法返回一个`Array`实例,命名原因同上;
3、HTTP 的 Builder 类迁移:com.ejlchina.okhttps.HttpClient.Builder ->
com.ejlchina.okhttps.HTTP.Builder
4、OkHttpClient 的配置接口迁移:com.ejlchina.okhttps.Configuration - >
com.ejlchina.okhttps.HTTP.OkConfig
5、移除 HTTP 接口与 HttpUtils 的`sync()`和`async()`无参方法,使用`sync(String
url)`和`async(String url)`有参方法(参数可传 null)
6、不再推荐使用 HttpUtils.of(HTTP http)
方法,`HttpUtils`主要用于第三方jar开发时使用,可配置会产生干扰。主应用开发推荐使用`OkHttps`类。
7、不再推荐使用 HttpTask
的`addXxxParam`和`setXxxParam`系列方法,推荐使用简洁版的`addXxxPara`和`setXxxPara`系列方法
8、不再推荐使用 HttpTask
的`addJsonParam`和`setRequestJson`方法,推荐使用`addBodyPara`和`setBodyPara`方法。因为
json、xml 等请求参数,和 表单请求参数一样,都是 报文体(Body)的参数,另新增`bodyType`方法,用于指定是 form 还是
json 或是 xml 等类型。

V1.0.5

Toggle V1.0.5's commit message
1、优化兼容性:HttpTask#doAddParams 兼容低版本Android(23及以下)系统

2、优化性能

V1.0.4

Toggle V1.0.4's commit message
1、优化 setTag 方法:若调用多次,将添加多个标签

2、优化按标签取消机制:无论标签在那个时段做怎样的修改,都可以按标签取消对应任务
3、类 HttpTask 实现 Cancelable 接口,可用于取消请求
4、性能优化

V1.0.3

Toggle V1.0.3's commit message
1、类 HttpUtils 新增 cancelAll() 方法 2、优化全局下载监听逻辑 3、优化标签修改逻辑:不可置空 4、修复某些情况…

…下标签任务不会从队列移除 5、取消所有请求时清空标签队列 6、优化标签队列性能 7、新增标签队列过期清理机制 8、优化部分代码

V1.0.2

Toggle V1.0.2's commit message
1、HTTP 新增方法:cancelAll() 取消所有请求

2、HTTP 新增方法:sync()、async()
3、HTTP cancel(String tag) 方法支持取消同步请求
4、优化 HttpResult.getError() 方法的返回类型:Exception -> IOException
5、TaskExecutor 新增 shutdown 方发
6、优化代码性能