Open ZuoHailong opened 4 years ago
严佬,你好!
你的开源库很棒,感谢。
今天在使用 Kalle 的过程中,遇到了一个问题:设定了一个日志拦截器,并将 request.body 在日志中输出:
log.append(String.format(" \nResponse Body: %1$s.", response.body().string()));
之后,再对 request.body 进行数据解析,出现了数据为 null 的情况。
经查找,发现是因为 response.body().string() 方法最终在 StreamBody 类中读取 Response InputStream 的时候出现了bug。原因是对 InputStream 第一次 read 后,指针停留在流数据结束的位置,当对其进行二次 read 时,流数据就是空的了。
我在 StreamBody 类中将 InputStream 包装为了 BufferedInputStream,读取前对流进行 mark,读取后再对其 reset,以备下次读取。
另外,sample module 中 FormPresenter 类报红,应该是 library 行为变化引起,小问题,我顺手改了。
其他的改动,就是 sample 中测试所需的改动了。
严佬,你好!
你的开源库很棒,感谢。
今天在使用 Kalle 的过程中,遇到了一个问题:设定了一个日志拦截器,并将 request.body 在日志中输出:
之后,再对 request.body 进行数据解析,出现了数据为 null 的情况。
经查找,发现是因为 response.body().string() 方法最终在 StreamBody 类中读取 Response InputStream 的时候出现了bug。原因是对 InputStream 第一次 read 后,指针停留在流数据结束的位置,当对其进行二次 read 时,流数据就是空的了。
我在 StreamBody 类中将 InputStream 包装为了 BufferedInputStream,读取前对流进行 mark,读取后再对其 reset,以备下次读取。
另外,sample module 中 FormPresenter 类报红,应该是 library 行为变化引起,小问题,我顺手改了。
其他的改动,就是 sample 中测试所需的改动了。