|
@@ -151,6 +151,9 @@ public class FaceppClient {
|
|
|
}
|
|
|
|
|
|
} catch (Exception e) {
|
|
|
+ log.error("[Face++]. compareWithTokenAndImageUrl(String,String); faceToken=" + faceToken
|
|
|
+ + "; imageUrl=" + imageUrl + "; cost " + (System.currentTimeMillis() - s)
|
|
|
+ + " ms.", e);
|
|
|
throw new ExamCloudRuntimeException(e);
|
|
|
} finally {
|
|
|
IOUtils.closeQuietly(response);
|
|
@@ -186,22 +189,46 @@ public class FaceppClient {
|
|
|
public JsonHttpResponseHolder compareWithTokenAndImageUrl(String faceToken, String imageUrl,
|
|
|
String backupImageUrl) throws StatusException {
|
|
|
|
|
|
- JsonHttpResponseHolder responseHolder = compareWithTokenAndImageUrl(faceToken, imageUrl);
|
|
|
+ JsonHttpResponseHolder responseHolder = null;
|
|
|
|
|
|
- if (HttpStatus.SC_OK == responseHolder.getStatusCode()) {
|
|
|
- return responseHolder;
|
|
|
+ boolean exceptionWhenUsingImageUrl = false;
|
|
|
+ boolean exceptionWhenUsingBackupImageUrl = false;
|
|
|
+
|
|
|
+ try {
|
|
|
+ responseHolder = compareWithTokenAndImageUrl(faceToken, imageUrl);
|
|
|
+ } catch (ExamCloudRuntimeException e) {
|
|
|
+ exceptionWhenUsingImageUrl = true;
|
|
|
}
|
|
|
|
|
|
- JSONObject respBody = responseHolder.getRespBody();
|
|
|
- String errMsg = respBody.getString("error_message");
|
|
|
- if (retry(errMsg)) {
|
|
|
- responseHolder = compareWithTokenAndImageUrl(faceToken, backupImageUrl);
|
|
|
+ if (exceptionWhenUsingImageUrl) {
|
|
|
+ try {
|
|
|
+ responseHolder = compareWithTokenAndImageUrl(faceToken, backupImageUrl);
|
|
|
+ } catch (ExamCloudRuntimeException e) {
|
|
|
+ exceptionWhenUsingBackupImageUrl = true;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if (HttpStatus.SC_OK == responseHolder.getStatusCode()) {
|
|
|
+ return responseHolder;
|
|
|
+ }
|
|
|
+
|
|
|
+ String errMsg = responseHolder.getRespBody().getString("error_message");
|
|
|
+ if (retry(errMsg)) {
|
|
|
+ try {
|
|
|
+ responseHolder = compareWithTokenAndImageUrl(faceToken, backupImageUrl);
|
|
|
+ } catch (ExamCloudRuntimeException e) {
|
|
|
+ exceptionWhenUsingBackupImageUrl = true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ if (HttpStatus.SC_OK == responseHolder.getStatusCode()) {
|
|
|
+ return responseHolder;
|
|
|
}
|
|
|
|
|
|
- respBody = responseHolder.getRespBody();
|
|
|
- errMsg = respBody.getString("error_message");
|
|
|
+ String errMsg = responseHolder.getRespBody().getString("error_message");
|
|
|
|
|
|
- if (retry(errMsg)) {
|
|
|
+ if (exceptionWhenUsingBackupImageUrl || retry(errMsg)) {
|
|
|
HttpGet get = new HttpGet(backupImageUrl);
|
|
|
get.setConfig(FaceppClient.requestConfig);
|
|
|
CloseableHttpResponse response = null;
|