138 Star 1.2K Fork 265

Troy / okhttps

2021-08-25 15:20
1393412 ejlchina zhxu 1636251845 Troy

1、优化请求参数冲突校验逻辑
2、优化下载到目录时的文件名生成逻辑:使用系统文件连接符
3、优化 FormConvertor: 使支持配置是否使用 URLEncode

最后提交信息为: v3.1.4
2021-07-10 17:27
1393412 ejlchina zhxu 1636251845 Troy

1、Stomp 只在连接关闭时重置状态
2、优化 Stomp 消息接收机制,兼容数据包之间的非法字符

最后提交信息为: v3.1.3
2021-06-22 09:44
1393412 ejlchina zhxu 1636251845 Troy

增强:Stomp 在 OnException 回调里也支持再次发起连接
参考:https://github.com/ejlchina/okhttps/issues/36

最后提交信息为: v3.1.2
2021-06-19 13:23
1393412 ejlchina zhxu 1636251845 Troy
  1. 新增:Stomp 异常回调:setOnException(OnCallback<Throwable> onException)
  2. 优化:AynscHttpTaskWebsocketTaskStomp 保证各回调设置方法的线程安全
  3. 修复:在 Android 5 系统上使用 Stomp 在断开连接时出现 找不到 Class 的问题
  4. 修复:在未设置 onConnected 回调时,Stmop 连接成功 但 isConnecting() 方法仍然返回 true 的问题
最后提交信息为: v3.1.1
2021-06-17 22:22
1393412 ejlchina zhxu 1636251845 Troy

Stomp 兼容低版本的 Android 系统
修复:
https://gitee.com/ejlchina-zhxu/okhttps/issues/I3W21B

最后提交信息为: v3.0.4
2021-06-15 08:40
1393412 ejlchina zhxu 1636251845 Troy
  1. OkHttpsHttpUtils 开放 getHttp() 方法
  2. WebSocketTask 新增 close 方法,用于关闭当前连接
  3. 优化 WebSocketTask:同一时间只能建立一个连接,如果已经建立连接并未断开,重复调用 listen() 方法将直接返回原有连接
  4. Stomp 新增 disconnect(int maxWaitSeconds) 方法
  5. Stomp 新增 disconnect(boolean immediate) 方法,用于立即断开连接
  6. Stomp 新增 isConnecting()isDisconnecting() 方法
  7. Stomp 模块抽象出 MsgCodec 接口,使得编解码模块易于扩展
  8. Stomp 模块新增 MsgCodecImpl 实现类,并实现了半包粘包处理逻辑
最后提交信息为: v3.1.0
2021-06-10 10:10
1393412 ejlchina zhxu 1636251845 Troy

1、Stomp 在连接断开时重置 Subscriber 的状态,以便在重连后可以自动订阅
2、重构 bodyType 与 Content-Type 机制,实现用户可以指定在 Content-Type 头中是否携带字符编码

最后提交信息为: v3.0.3
2021-04-30 11:13
1393412 ejlchina zhxu 1636251845 Troy

1、不上传文件时,可以指定 form-data 格式的表单
2、修复:https://gitee.com/ejlchina-zhxu/okhttps/issues/I3OQ05
3、升级底层依赖

最后提交信息为: !12v3.0.2
2021-03-16 13:27
1393412 ejlchina zhxu 1636251845 Troy

优化标签判断方法(严格模式)

最后提交信息为: !10v3.0.1
2021-01-17 22:57
1393412 ejlchina zhxu 1636251845 Troy

1、项目分割,分离出 data 项目单独维护(JSON、XML 等结构化数据的统一抽象 API):
https://gitee.com/ejlchina-zhxu/data
2、依赖 data 项目中新增 HashMapper 与 ListArray 两个实现类
3、升级事项: 用到以下四个类需要重新导包:

v2.x v3.x
com.ejlchina.okhttps.DataSet com.ejlchina.data.DataSet
com.ejlchina.okhttps.Array com.ejlchina.data.Array
com.ejlchina.okhttps.Mapper com.ejlchina.data.Mapper
com.ejlchina.okhttps.TypeRef com.ejlchina.data.TypeRef
最后提交信息为: v3.0.0
2021-01-12 19:29
1393412 ejlchina zhxu 1636251845 Troy

1、Mapper 与 Array 接口新增 forEach 遍历方法
2、新增 okhttps-parallel 模块,实现多线程下载到不同的临时文件,最后再合并的需求
3、优化当使用多个 MsgConvertor 时,对 Body 进行 toXXX() 泛型转换时,自动开启 cache
4、优化 Download 模块,使支持多任务并行下载到同一个文件内
5、优化:方法 sync()、async() 与 baseUrl() 传入的 URL 自动 trim
6、优化异常提示文字,部分异常打印当前的 URL

最后提交信息为: v2.5.1 ^_^
2020-12-24 16:41
1393412 ejlchina zhxu 1636251845 Troy

API
1、 HTTP#Builder新增contentTypes方法,可扩展配置默认支持的请求类型
2、 HTTP#Builder新增clearPreprocessorsclearMsgConvertors方法
3、 HttpResult新增getTask方法,可获取所属的请求任务
4、 HttpResult新增of(HttpTask<?>, Response)方法,可构造一个HttpResult实例
5、 WebSocketTask新增flexiblePing(boolean)方法,当传参false时,可兼容某些强制客户端必须以固定的间隔发送心跳的服务器
6、 Stomp新增sendToTopicsendToQueue方法,
7、 Stomp新增isConnected方法,可直接判断连接是否已建立

优化
1、 优化自定义请求方法HttpTask#request()的参数处理:请求方法自动 toUpperCase,避免用户传入小写时造成意想不到的问题
2、 优化bodyTypemsgType的参数处理,自动 toLowerCase,避免用户传入大写时造成意想不到的问题
3、 使得未添加MsgConvertor时,使用setBodyPara(String|byte[])bodyType方法也能够发起对应格式的请求
4、 优化 Stomp 订阅与退订机制:同一个实例支持多线程并发订阅与退订操作
5、 优化 Stomp 消息匹配机制:兼容 RabbitMQ 在某些情况下的推送的 消息目的地 与 订阅目的地 不一致的情况
6、 优化 Stomp 连接的断开流程:在连接断开前保证已发消息到达服务器
7、 优化文件下载的异常处理流程

升级注意事项:
1、 类FileParaHttpTask中分离,不再是HttpTask的内部类,有直接引用FilePara的代码需要重新导包。

最后提交信息为: Merge branch 'dev' into v2.5.0
2020-12-02 10:33
1393412 ejlchina zhxu 1636251845 Troy

1、Websocket 新增 status() 方法
2、WebSocketTask 新增 isConnected() 方法,可判断连接是否已建立
3、抽象 DataSet(只读数据集)接口,Mapper 和 Array 为其子接
4、优化文件下载控制部分代码

因上版发布比较仓促,建议 v2.4.4 都升级到 v2.4.5

最后提交信息为: update doc
2020-11-26 19:13
1393412 ejlchina zhxu 1636251845 Troy

提升 WebSocket 模块的兼容性:增强型心跳机制兼容 Android 6.0(SDK 23)及以下版本

最后提交信息为: update README.md
2020-11-20 13:17
1393412 ejlchina zhxu 1636251845 Troy

新增特性:同一个网络请求结果 HttpResult 和 HttpBody 可以支持多线程并发访问(使用时无需再手动加锁)

最后提交信息为: V2.4.3
2020-09-17 10:15
1393412 ejlchina zhxu 1636251845 Troy

1、新增超轻量无第三方依赖的 XML 扩展模块
2、优化 gson 与 jackson 扩展模块

最后提交信息为: doc
2020-09-04 11:23
1393412 ejlchina zhxu 1636251845 Troy

1、修复 GsonMapper 和 GsonArray 在键值为空情况下,取值会报 JsonNull 异常问题
2、优化 STOMP 消息解析机制,修复服务器下发 ERROR 帧时会报异常问题
3、STOMP 新增 onError 回调,可监听处理服务器下发 ERROR 帧
4、兼容 spring-boot websocket 服务器,修改 STOMP 建立连接时的默认心跳数据内容,空 -> 换行符

最后提交信息为: Merge branch 'dev'
2020-08-27 20:27
1393412 ejlchina zhxu 1636251845 Troy

1、全面兼容 OkHttp 4.x 版本

2、HttpTask 新增 getPathParas()、getUrlParas()、getBodyParas()、getFileParas()、getRequestBody() 方法

3、优化HttpTask#addFilePara(String name, String type, byte[] content)方法,添加自动生成文件名逻辑,兼容某些必须要提供文件名才能接受到文件的后端接口

2020-07-21 12:23
1393412 ejlchina zhxu 1636251845 Troy

重新实现 WebSocket 心跳机制
使用者可以选择使用 OkHttp 自带的心跳模式,也可以选择使用 OkHttps 提供的增强型心跳机制,它具有如下特性

  • 1、客户端发送的任何消息都具有一次客户端心跳作用
  • 2、服务器发送的任何消息都具有一次服务器心跳作用
  • 3、若服务器超过 3 * pongSeconds 秒没有回复心跳,才判断心跳超时

详见文档:http://okhttps.ejlchina.com/v2/websocket.html#%E5%8D%95%E6%AC%A1%E5%BF%83%E8%B7%B3%E9%85%8D%E7%BD%AE%EF%BC%88since-v2-3-0%EF%BC%89

最后提交信息为: update README.md
2020-06-14 18:12
1393412 ejlchina zhxu 1636251845 Troy

1、增强泛型反序列化,支持复合泛型
2、HttpCall 接口新增 getTask 方法,可获取当前任务
3、OkHttps 工具类 新增 newBuilder 方法,可用于复用 SPI 方式注入的配置信息
4、HttpTask 类 新增 isAsyncHttp 和 isSyncHttp 方法(v2.1.0 新增了 isWebsocket 方法)可用于判断 HttpTask 的任务类型
5、优化在 Android 端的异步请求性能

Java
1
https://gitee.com/troyzhxu/okhttps.git
git@gitee.com:troyzhxu/okhttps.git
troyzhxu
okhttps
okhttps

搜索帮助

14c37bed 8189591 565d56ea 8189591