From e7e8ce71f03294780cfcd3c5db2e8302478ba4c0 Mon Sep 17 00:00:00 2001 From: caixc Date: Wed, 3 Jul 2019 15:35:01 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E7=89=B9=E6=AE=8A=E5=A4=84=E7=90=86=20resu?= =?UTF-8?q?lt=20400=205xx=E6=83=85=E5=86=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../okgo/cache/policy/BaseCachePolicy.java | 6 ++- .../lzy/okgo/exception/MyHttpException.java | 39 +++++++++++++++++++ 2 files changed, 43 insertions(+), 2 deletions(-) create mode 100644 okgo/src/main/java/com/lzy/okgo/exception/MyHttpException.java diff --git a/okgo/src/main/java/com/lzy/okgo/cache/policy/BaseCachePolicy.java b/okgo/src/main/java/com/lzy/okgo/cache/policy/BaseCachePolicy.java index f43aad35..5c0b1824 100644 --- a/okgo/src/main/java/com/lzy/okgo/cache/policy/BaseCachePolicy.java +++ b/okgo/src/main/java/com/lzy/okgo/cache/policy/BaseCachePolicy.java @@ -23,6 +23,7 @@ import com.lzy.okgo.callback.Callback; import com.lzy.okgo.db.CacheManager; import com.lzy.okgo.exception.HttpException; +import com.lzy.okgo.exception.MyHttpException; import com.lzy.okgo.model.Response; import com.lzy.okgo.request.base.Request; import com.lzy.okgo.utils.HeaderParser; @@ -101,10 +102,11 @@ protected Response requestNetworkSync() { try { okhttp3.Response response = rawCall.execute(); int responseCode = response.code(); - //network error if (responseCode == 404 || responseCode >= 500) { - return Response.error(false, rawCall, response, HttpException.NET_ERROR()); + String message = response.message(); + String string = response.body().string(); + return Response.error(false, rawCall, response, new MyHttpException(responseCode, message, string)); } T body = request.getConverter().convertResponse(response); diff --git a/okgo/src/main/java/com/lzy/okgo/exception/MyHttpException.java b/okgo/src/main/java/com/lzy/okgo/exception/MyHttpException.java new file mode 100644 index 00000000..09c894d7 --- /dev/null +++ b/okgo/src/main/java/com/lzy/okgo/exception/MyHttpException.java @@ -0,0 +1,39 @@ +package com.lzy.okgo.exception; + +public class MyHttpException extends RuntimeException { + private int code; + private String message; + private String body; + + public MyHttpException(int code, String message, String body) { + this.code = code; + this.message = message; + this.body = body; + } + + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + @Override + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public String getBody() { + return body; + } + + public void setBody(String body) { + this.body = body; + } +} From 21885c1e621c527c348ed458f1582873c10850f7 Mon Sep 17 00:00:00 2001 From: caixc Date: Wed, 3 Jul 2019 16:36:19 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E7=89=B9=E6=AE=8A=E5=A4=84=E7=90=86=20resu?= =?UTF-8?q?lt=20400=205xx=E6=83=85=E5=86=B52?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/lzy/okgo/cache/policy/BaseCachePolicy.java | 8 +++++--- .../{MyHttpException.java => HttpException1.java} | 4 ++-- 2 files changed, 7 insertions(+), 5 deletions(-) rename okgo/src/main/java/com/lzy/okgo/exception/{MyHttpException.java => HttpException1.java} (83%) diff --git a/okgo/src/main/java/com/lzy/okgo/cache/policy/BaseCachePolicy.java b/okgo/src/main/java/com/lzy/okgo/cache/policy/BaseCachePolicy.java index 5c0b1824..417e5637 100644 --- a/okgo/src/main/java/com/lzy/okgo/cache/policy/BaseCachePolicy.java +++ b/okgo/src/main/java/com/lzy/okgo/cache/policy/BaseCachePolicy.java @@ -23,7 +23,7 @@ import com.lzy.okgo.callback.Callback; import com.lzy.okgo.db.CacheManager; import com.lzy.okgo.exception.HttpException; -import com.lzy.okgo.exception.MyHttpException; +import com.lzy.okgo.exception.HttpException1; import com.lzy.okgo.model.Response; import com.lzy.okgo.request.base.Request; import com.lzy.okgo.utils.HeaderParser; @@ -106,7 +106,7 @@ protected Response requestNetworkSync() { if (responseCode == 404 || responseCode >= 500) { String message = response.message(); String string = response.body().string(); - return Response.error(false, rawCall, response, new MyHttpException(responseCode, message, string)); + return Response.error(false, rawCall, response, new HttpException1(responseCode, message, string)); } T body = request.getConverter().convertResponse(response); @@ -154,7 +154,9 @@ public void onResponse(okhttp3.Call call, okhttp3.Response response) throws IOEx //network error if (responseCode == 404 || responseCode >= 500) { - Response error = Response.error(false, call, response, HttpException.NET_ERROR()); + String message = response.message(); + String string = response.body().string(); + Response error = Response.error(false, call, response, new HttpException1(responseCode,message,string)); onError(error); return; } diff --git a/okgo/src/main/java/com/lzy/okgo/exception/MyHttpException.java b/okgo/src/main/java/com/lzy/okgo/exception/HttpException1.java similarity index 83% rename from okgo/src/main/java/com/lzy/okgo/exception/MyHttpException.java rename to okgo/src/main/java/com/lzy/okgo/exception/HttpException1.java index 09c894d7..1fb4c766 100644 --- a/okgo/src/main/java/com/lzy/okgo/exception/MyHttpException.java +++ b/okgo/src/main/java/com/lzy/okgo/exception/HttpException1.java @@ -1,11 +1,11 @@ package com.lzy.okgo.exception; -public class MyHttpException extends RuntimeException { +public class HttpException1 extends RuntimeException { private int code; private String message; private String body; - public MyHttpException(int code, String message, String body) { + public HttpException1(int code, String message, String body) { this.code = code; this.message = message; this.body = body; From 8eab6348d61edaf1d27602f29050e27d70e8b88d Mon Sep 17 00:00:00 2001 From: caixc Date: Wed, 3 Jul 2019 18:48:54 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E5=8E=BB=E9=99=A4=E8=87=AA=E5=AE=9A?= =?UTF-8?q?=E4=B9=89HttpException1=20HttpException=E7=B1=BB=E4=B8=AD?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=9E=84=E9=80=A0=20=E5=AD=98=E5=85=A5=20cod?= =?UTF-8?q?e=20message=20=E7=AD=89=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../okgo/cache/policy/BaseCachePolicy.java | 6 +-- .../com/lzy/okgo/exception/HttpException.java | 22 +++++++++++ .../lzy/okgo/exception/HttpException1.java | 39 ------------------- 3 files changed, 25 insertions(+), 42 deletions(-) delete mode 100644 okgo/src/main/java/com/lzy/okgo/exception/HttpException1.java diff --git a/okgo/src/main/java/com/lzy/okgo/cache/policy/BaseCachePolicy.java b/okgo/src/main/java/com/lzy/okgo/cache/policy/BaseCachePolicy.java index 417e5637..a9395782 100644 --- a/okgo/src/main/java/com/lzy/okgo/cache/policy/BaseCachePolicy.java +++ b/okgo/src/main/java/com/lzy/okgo/cache/policy/BaseCachePolicy.java @@ -16,6 +16,7 @@ package com.lzy.okgo.cache.policy; import android.graphics.Bitmap; +import android.text.TextUtils; import com.lzy.okgo.OkGo; import com.lzy.okgo.cache.CacheEntity; @@ -23,7 +24,6 @@ import com.lzy.okgo.callback.Callback; import com.lzy.okgo.db.CacheManager; import com.lzy.okgo.exception.HttpException; -import com.lzy.okgo.exception.HttpException1; import com.lzy.okgo.model.Response; import com.lzy.okgo.request.base.Request; import com.lzy.okgo.utils.HeaderParser; @@ -106,7 +106,7 @@ protected Response requestNetworkSync() { if (responseCode == 404 || responseCode >= 500) { String message = response.message(); String string = response.body().string(); - return Response.error(false, rawCall, response, new HttpException1(responseCode, message, string)); + return Response.error(false, rawCall, response, new HttpException(responseCode, message, string)); } T body = request.getConverter().convertResponse(response); @@ -156,7 +156,7 @@ public void onResponse(okhttp3.Call call, okhttp3.Response response) throws IOEx if (responseCode == 404 || responseCode >= 500) { String message = response.message(); String string = response.body().string(); - Response error = Response.error(false, call, response, new HttpException1(responseCode,message,string)); + Response error = Response.error(false, call, response, new HttpException(responseCode, message, string)); onError(error); return; } diff --git a/okgo/src/main/java/com/lzy/okgo/exception/HttpException.java b/okgo/src/main/java/com/lzy/okgo/exception/HttpException.java index 6d3692f0..64cb91a2 100644 --- a/okgo/src/main/java/com/lzy/okgo/exception/HttpException.java +++ b/okgo/src/main/java/com/lzy/okgo/exception/HttpException.java @@ -34,10 +34,18 @@ public class HttpException extends RuntimeException { private String message; //HTTP status message private transient Response response; //The full HTTP response. This may be null if the exception was serialized + private String body; public HttpException(String message) { super(message); } + public HttpException(int code,String message,String body) { + super(message); + this.code = code; + this.message = message; + this.body = body; + } + public HttpException(Response response) { super(getMessage(response)); this.code = response.code(); @@ -45,6 +53,7 @@ public HttpException(Response response) { this.response = response; } + private static String getMessage(Response response) { HttpUtils.checkNotNull(response, "response == null"); return "HTTP " + response.code() + " " + response.message(); @@ -66,6 +75,19 @@ public static HttpException NET_ERROR() { return new HttpException("network error! http response code is 404 or 5xx!"); } + public int getCode() { + return code; + } + + @Override + public String getMessage() { + return message; + } + + public String getBody() { + return body; + } + public static HttpException COMMON(String message) { return new HttpException(message); } diff --git a/okgo/src/main/java/com/lzy/okgo/exception/HttpException1.java b/okgo/src/main/java/com/lzy/okgo/exception/HttpException1.java deleted file mode 100644 index 1fb4c766..00000000 --- a/okgo/src/main/java/com/lzy/okgo/exception/HttpException1.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.lzy.okgo.exception; - -public class HttpException1 extends RuntimeException { - private int code; - private String message; - private String body; - - public HttpException1(int code, String message, String body) { - this.code = code; - this.message = message; - this.body = body; - } - - - public int getCode() { - return code; - } - - public void setCode(int code) { - this.code = code; - } - - @Override - public String getMessage() { - return message; - } - - public void setMessage(String message) { - this.message = message; - } - - public String getBody() { - return body; - } - - public void setBody(String body) { - this.body = body; - } -}