Skip to content

Commit e5bc9de

Browse files
committed
1.2.0
- 新增字节回调处理器 `BytesResponseListener` 和字节拦截处理器 `BytesResponseInterceptListener`,以及其对应的基础类 `BaseResponseListener` 和 `BaseResponseInterceptListener`;
1 parent f4e43a2 commit e5bc9de

15 files changed

+133
-41
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 2
10-
versionName "1.1.0"
9+
versionCode 3
10+
versionName "1.2.0"
1111

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

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.kongzue.baseokhttp.x;
22

3+
import com.kongzue.baseokhttp.x.interfaces.BaseResponseInterceptListener;
34
import com.kongzue.baseokhttp.x.interfaces.HeaderInterceptListener;
45
import com.kongzue.baseokhttp.x.interfaces.ParameterInterceptListener;
56
import com.kongzue.baseokhttp.x.interfaces.ResponseInterceptListener;
@@ -42,7 +43,7 @@ public class BaseOkHttpX {
4243
public static boolean httpRequestDetailsLogs = false;
4344

4445
// 全局拦截器
45-
public static ResponseInterceptListener responseInterceptListener;
46+
public static BaseResponseInterceptListener responseInterceptListener;
4647

4748
// 全局参数拦截器
4849
public static ParameterInterceptListener parameterInterceptListener;
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package com.kongzue.baseokhttp.x.interfaces;
2+
3+
import com.kongzue.baseokhttp.x.util.BaseHttpRequest;
4+
5+
import okhttp3.ResponseBody;
6+
7+
public interface BaseResponseInterceptListener {
8+
9+
boolean onIntercept(BaseHttpRequest httpRequest, ResponseBody response, Exception error);
10+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package com.kongzue.baseokhttp.x.interfaces;
2+
3+
import com.kongzue.baseokhttp.x.util.BaseHttpRequest;
4+
5+
import okhttp3.ResponseBody;
6+
7+
public interface BaseResponseListener {
8+
9+
void response(BaseHttpRequest httpRequest, ResponseBody responseBody, Exception error);
10+
11+
}

BaseOkHttpX/src/main/java/com/kongzue/baseokhttp/x/interfaces/BeanResponseListener.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
import java.lang.reflect.ParameterizedType;
1010

11-
public abstract class BeanResponseListener<T> implements ResponseListener {
11+
public abstract class BeanResponseListener<T> extends ResponseListener {
1212

1313
@Override
1414
public void response(BaseHttpRequest httpRequest, String response, Exception error) {
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package com.kongzue.baseokhttp.x.interfaces;
2+
3+
import com.kongzue.baseokhttp.x.util.BaseHttpRequest;
4+
5+
import java.io.IOException;
6+
7+
import okhttp3.ResponseBody;
8+
9+
public abstract class BytesResponseInterceptListener implements BaseResponseInterceptListener {
10+
11+
@Override
12+
@Deprecated
13+
public boolean onIntercept(BaseHttpRequest httpRequest, ResponseBody response, Exception error) {
14+
try {
15+
byte[] result = response.bytes();
16+
return onIntercept(httpRequest, result, error);
17+
} catch (IOException e) {
18+
return onIntercept(httpRequest, new byte[]{}, e);
19+
}
20+
}
21+
22+
public abstract boolean onIntercept(BaseHttpRequest httpRequest, byte[] response, Exception error);
23+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package com.kongzue.baseokhttp.x.interfaces;
2+
3+
import com.kongzue.baseokhttp.x.util.BaseHttpRequest;
4+
5+
import okhttp3.ResponseBody;
6+
7+
public abstract class BytesResponseListener implements BaseResponseListener {
8+
9+
@Override
10+
@Deprecated
11+
public void response(BaseHttpRequest httpRequest, ResponseBody responseBody, Exception error) {
12+
try {
13+
byte[] data = responseBody.bytes();
14+
response(httpRequest, data, error);
15+
} catch (Exception e) {
16+
response(httpRequest, new byte[]{}, e);
17+
}
18+
}
19+
20+
public abstract void response(BaseHttpRequest httpRequest, byte[] response, Exception error);
21+
}

BaseOkHttpX/src/main/java/com/kongzue/baseokhttp/x/interfaces/JsonResponseListener.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import com.kongzue.baseokhttp.x.exceptions.DecodeJsonException;
55
import com.kongzue.baseokhttp.x.util.BaseHttpRequest;
66

7-
public abstract class JsonResponseListener implements ResponseListener {
7+
public abstract class JsonResponseListener extends ResponseListener {
88

99
@Override
1010
public void response(BaseHttpRequest httpRequest, String response, Exception error) {

BaseOkHttpX/src/main/java/com/kongzue/baseokhttp/x/interfaces/OpenAIAPIResponseListener.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import org.json.JSONException;
77
import org.json.JSONObject;
88

9-
public class OpenAIAPIResponseListener implements ResponseListener {
9+
public class OpenAIAPIResponseListener extends ResponseListener {
1010

1111
StringBuilder resultBuilder = new StringBuilder();
1212
boolean isFinish;

BaseOkHttpX/src/main/java/com/kongzue/baseokhttp/x/interfaces/ResponseInterceptListener.java

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,22 @@
22

33
import com.kongzue.baseokhttp.x.util.BaseHttpRequest;
44

5-
public interface ResponseInterceptListener {
5+
import java.io.IOException;
66

7-
boolean onIntercept(BaseHttpRequest httpRequest, String response, Exception error);
8-
}
7+
import okhttp3.ResponseBody;
8+
9+
public abstract class ResponseInterceptListener implements BaseResponseInterceptListener {
10+
11+
@Override
12+
@Deprecated
13+
public boolean onIntercept(BaseHttpRequest httpRequest, ResponseBody response, Exception error) {
14+
try {
15+
String result = response.string();
16+
return onIntercept(httpRequest, result, error);
17+
} catch (IOException e) {
18+
return onIntercept(httpRequest, "", e);
19+
}
20+
}
21+
22+
public abstract boolean onIntercept(BaseHttpRequest httpRequest, String response, Exception error);
23+
}

0 commit comments

Comments
 (0)