Skip to content

Commit 49c88f4

Browse files
committed
1.2.3 release
- 修复了拦截回调存在的因responseBody被拦截器消费而导致实际请求回调内容为空的问题;
1 parent 83fd6e6 commit 49c88f4

File tree

3 files changed

+21
-18
lines changed

3 files changed

+21
-18
lines changed

BaseOkHttpX/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ android {
66

77
defaultConfig {
88
minSdk 21
9-
versionCode 5
10-
versionName "1.2.2"
9+
versionCode 6
10+
versionName "1.2.3"
1111

1212
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
1313
consumerProguardFiles "consumer-rules.pro"

BaseOkHttpX/src/main/java/com/kongzue/baseokhttp/x/util/BaseHttpRequest.java

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
import java.io.IOException;
3737
import java.io.InputStream;
3838
import java.io.InputStreamReader;
39+
import java.io.UnsupportedEncodingException;
3940
import java.net.Proxy;
4041
import java.nio.charset.StandardCharsets;
4142
import java.security.KeyStore;
@@ -231,25 +232,26 @@ private void onStream(String line, MediaType mediaType) {
231232
LockLog.logI(TAG_RETURN, line);
232233
}
233234
ResponseBody responseBody = ResponseBody.create(line.getBytes(), mediaType);
235+
ResponseBody interceptResponseBody = ResponseBody.create(line.getBytes(), mediaType);
234236
if (callbackInMainLooper) {
235237
Looper mainLooper = Looper.getMainLooper();
236238
handler = new Handler(mainLooper);
237239
handler.post(new Runnable() {
238240
@Override
239241
public void run() {
240-
callCallbacks(responseBody, null);
242+
callCallbacks(responseBody, interceptResponseBody, null);
241243
}
242244
});
243245
} else {
244246
if (handler != null) {
245247
handler.post(new Runnable() {
246248
@Override
247249
public void run() {
248-
callCallbacks(responseBody, null);
250+
callCallbacks(responseBody, interceptResponseBody, null);
249251
}
250252
});
251253
} else {
252-
callCallbacks(responseBody, null);
254+
callCallbacks(responseBody, interceptResponseBody, null);
253255
}
254256
}
255257
}
@@ -264,6 +266,7 @@ private void onFinish(Response response) {
264266
String charset = mediaType.charset(StandardCharsets.UTF_8).name();
265267
String result = new String(responseBytes, charset);
266268
ResponseBody resultBody = ResponseBody.create(responseBytes, mediaType);
269+
ResponseBody interceptResultBody = ResponseBody.create(responseBytes, mediaType);
267270

268271
if (isShowLogs()) {
269272
LockLog.Builder logBuilder = LockLog.Builder.create()
@@ -290,19 +293,19 @@ private void onFinish(Response response) {
290293
handler.post(new Runnable() {
291294
@Override
292295
public void run() {
293-
callCallbacks(resultBody, null);
296+
callCallbacks(resultBody, interceptResultBody, null);
294297
}
295298
});
296299
} else {
297300
if (handler != null) {
298301
handler.post(new Runnable() {
299302
@Override
300303
public void run() {
301-
callCallbacks(resultBody, null);
304+
callCallbacks(resultBody, interceptResultBody, null);
302305
}
303306
});
304307
} else {
305-
callCallbacks(resultBody, null);
308+
callCallbacks(resultBody, interceptResultBody, null);
306309
}
307310
}
308311
} else {
@@ -326,9 +329,9 @@ public void run() {
326329
}
327330
}
328331

329-
private void callCallbacks(ResponseBody result, Exception e) {
332+
private void callCallbacks(ResponseBody result, ResponseBody interceptRequestBody, Exception e) {
330333
if (BaseOkHttpX.responseInterceptListener != null &&
331-
BaseOkHttpX.responseInterceptListener.onIntercept(BaseHttpRequest.this, result, e)) {
334+
BaseOkHttpX.responseInterceptListener.onIntercept(BaseHttpRequest.this, interceptRequestBody, e)) {
332335
return;
333336
}
334337
for (BaseResponseListener callback : callbacks) {
@@ -366,19 +369,19 @@ private void onFail(Exception e) {
366369
handler.post(new Runnable() {
367370
@Override
368371
public void run() {
369-
callCallbacks(null, e);
372+
callCallbacks(null, null, e);
370373
}
371374
});
372375
} else {
373376
if (handler != null) {
374377
handler.post(new Runnable() {
375378
@Override
376379
public void run() {
377-
callCallbacks(null, e);
380+
callCallbacks(null, null, e);
378381
}
379382
});
380383
} else {
381-
callCallbacks(null, e);
384+
callCallbacks(null, null, e);
382385
}
383386
}
384387
}
@@ -566,7 +569,7 @@ private String getRealRequestUrl(String url) {
566569

567570
/**
568571
* 获取最终请求地址。
569-
*
572+
* <p>
570573
* 当为 GET 请求时会自动拼接参数。
571574
*
572575
* @return 完整的请求地址
@@ -921,7 +924,7 @@ public boolean isRequesting() {
921924

922925
/**
923926
* 手动标记请求的执行状态。
924-
*
927+
* <p>
925928
* 当设置为 true 时会启动超时检测,false 则停止检测。
926929
*
927930
* @param requesting 是否处于请求状态
@@ -1106,7 +1109,7 @@ public BaseHttpRequest setCacheSettings(Cache cacheSettings) {
11061109
/**
11071110
* 指定下载文件的保存路径,并设置下载监听器。
11081111
*
1109-
* @param file 目标文件
1112+
* @param file 目标文件
11101113
* @param downloadListener 下载进度回调
11111114
* @return 当前请求对象
11121115
*/

app/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ android {
88
applicationId "com.kongzue.baseokhttpx.demo"
99
minSdk 21
1010
targetSdk 31
11-
versionCode 5
12-
versionName "1.2.2"
11+
versionCode 6
12+
versionName "1.2.3"
1313

1414
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
1515
}

0 commit comments

Comments
 (0)