From a99d23fb0708820002b8bebc8dd1ad305719813c Mon Sep 17 00:00:00 2001 From: simon-liubin Date: Wed, 27 May 2015 18:46:36 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=20=E4=BF=AE=E5=A4=8D=E9=87=8D=E8=AF=95?= =?UTF-8?q?=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/qiniu/android/http/ResponseInfo.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/library/src/main/java/com/qiniu/android/http/ResponseInfo.java b/library/src/main/java/com/qiniu/android/http/ResponseInfo.java index feb5d02f7..81b603f9b 100644 --- a/library/src/main/java/com/qiniu/android/http/ResponseInfo.java +++ b/library/src/main/java/com/qiniu/android/http/ResponseInfo.java @@ -92,8 +92,11 @@ public boolean isOK() { return statusCode == 200 && error == null && reqId != null; } + public boolean isNetworkBroken() { - return statusCode == NetworkError; + return statusCode == NetworkError || statusCode == UnknownHost + || statusCode == CannotConnectToHost || statusCode == TimedOut + || statusCode == NetworkConnectionLost; } public boolean isServerError() { @@ -102,16 +105,15 @@ public boolean isServerError() { } public boolean needSwitchServer() { - return statusCode == NetworkError || statusCode == CannotConnectToHost - || statusCode == TimedOut || statusCode == NetworkConnectionLost - || (statusCode >= 500 && statusCode < 600 && statusCode != 579); + return isNetworkBroken() || isServerError(); } public boolean needRetry() { - return !isCancelled() && (isNetworkBroken() || isServerError() || statusCode == 406 + return !isCancelled() && (needSwitchServer() || statusCode == 406 || (statusCode == 200 && error != null)); } + public String toString() { return String.format(Locale.ENGLISH, "{ResponseInfo:%s,status:%d, reqId:%s, xlog:%s, xvia:%s, host:%s, ip:%s, port:%d, duration:%f s, error:%s}", super.toString(), statusCode, reqId, xlog, xvia, host, ip, port, duration, error); From f3147067fbd4a8e334f21ace96d137b058da15d9 Mon Sep 17 00:00:00 2001 From: simon-liubin Date: Wed, 27 May 2015 18:50:13 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=20=E4=BF=AE=E5=A4=8D=E9=87=8D=E8=AF=95?= =?UTF-8?q?=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- library/src/main/java/com/qiniu/android/http/ResponseInfo.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/library/src/main/java/com/qiniu/android/http/ResponseInfo.java b/library/src/main/java/com/qiniu/android/http/ResponseInfo.java index 81b603f9b..654f40ccc 100644 --- a/library/src/main/java/com/qiniu/android/http/ResponseInfo.java +++ b/library/src/main/java/com/qiniu/android/http/ResponseInfo.java @@ -91,8 +91,7 @@ public boolean isCancelled() { public boolean isOK() { return statusCode == 200 && error == null && reqId != null; } - - + public boolean isNetworkBroken() { return statusCode == NetworkError || statusCode == UnknownHost || statusCode == CannotConnectToHost || statusCode == TimedOut