okhttp - 3.x版本存在导致请求正文发送错误的bug
问题描述
如下图,发送请求体时,请求头作为正文内容发送。[在此处输入图片描述][1]
我对比了3.x和4.x的代码,发现两个版本对RetryAndFollowUpInterceptor.intercept()的处理是不同的。
4.x 版本调用 finally 中的 detachWithViolence 方法释放资源,但 3.x 版本如果出现异常则不释放资源,导致下一次请求消耗 Buffer 中的数据发送失败。
请帮忙修复3.x版本的这个BUG,谢谢!
当抛出异常时,类 okhttp3.internal.http.RetryAndFollowUpInterceptor 的列表 135 不会执行。
解决方案
因为两个版本差别太大,团队暂时不会升级。能修复3.x版本的BUG吗?
推荐阅读
- visual-studio-2015 - 在 Visual Studio 2015 中禁用遥测
- r - 使用 RMySQL 加载名为“order”的 MySQL 表
- concourse - Concourse Pipelines 与 Pivotal Tracker 的集成
- php - 如何使用 Eloquent (Laravel) 关系插入记录?
- math - 仅使用度数使物体绕另一个轨道运行(不是仅弧度整数数学)
- javascript - 带有 exec ruby 的异步函数
- postgresql - 如何根据日期选择 postgres 表中的行并将其存储在新表中?
- c# - 带有 SelectMany() 的平面数据,如左连接
- bluetooth - 使用 GnuRadio 解码蓝牙信号和数据包
- mfc - 验证列表控件就地编辑