From e22346feb6ad3a8a525728b4121c57af66b11193 Mon Sep 17 00:00:00 2001 From: "Bala.FA" Date: Sat, 4 Jun 2016 13:20:29 +0530 Subject: [PATCH] fix: add non-standard Amazon S3 error code support in error response XML. --- src/main/java/io/minio/ErrorCode.java | 5 +++-- src/main/java/io/minio/MinioClient.java | 2 +- .../io/minio/errors/ErrorResponseException.java | 7 +++---- .../java/io/minio/messages/ErrorResponse.java | 15 +++++++++------ 4 files changed, 16 insertions(+), 13 deletions(-) diff --git a/src/main/java/io/minio/ErrorCode.java b/src/main/java/io/minio/ErrorCode.java index a3e17174c..f6cd61702 100644 --- a/src/main/java/io/minio/ErrorCode.java +++ b/src/main/java/io/minio/ErrorCode.java @@ -148,7 +148,7 @@ public String message() { */ public static ErrorCode fromString(String codeString) { if (codeString == null) { - throw new IllegalArgumentException("null code string"); + return null; } for (ErrorCode ec : ErrorCode.values()) { @@ -157,6 +157,7 @@ public static ErrorCode fromString(String codeString) { } } - throw new IllegalArgumentException("invalid error code string '" + codeString + "'"); + // Unknown error code string. Its not a standard Amazon S3 error. + return null; } } diff --git a/src/main/java/io/minio/MinioClient.java b/src/main/java/io/minio/MinioClient.java index c1e55710b..08a871462 100644 --- a/src/main/java/io/minio/MinioClient.java +++ b/src/main/java/io/minio/MinioClient.java @@ -1727,7 +1727,7 @@ public boolean bucketExists(String bucketName) executeHead(bucketName, null); return true; } catch (ErrorResponseException e) { - if (e.errorCode() != ErrorCode.NO_SUCH_BUCKET) { + if (e.errorResponse().errorCode() != ErrorCode.NO_SUCH_BUCKET) { throw e; } } diff --git a/src/main/java/io/minio/errors/ErrorResponseException.java b/src/main/java/io/minio/errors/ErrorResponseException.java index 74dd995f3..c971c5805 100644 --- a/src/main/java/io/minio/errors/ErrorResponseException.java +++ b/src/main/java/io/minio/errors/ErrorResponseException.java @@ -20,7 +20,6 @@ import com.squareup.okhttp.Response; import io.minio.messages.ErrorResponse; -import io.minio.ErrorCode; /** @@ -43,10 +42,10 @@ public ErrorResponseException(ErrorResponse errorResponse, Response response) { /** - * Returns Amazon S3 error code to indicate what error occured. + * Returns ErrorResponse contains detail of what error occured. */ - public ErrorCode errorCode() { - return this.errorResponse.errorCode(); + public ErrorResponse errorResponse() { + return this.errorResponse; } diff --git a/src/main/java/io/minio/messages/ErrorResponse.java b/src/main/java/io/minio/messages/ErrorResponse.java index 7121c28b5..22ef125d3 100644 --- a/src/main/java/io/minio/messages/ErrorResponse.java +++ b/src/main/java/io/minio/messages/ErrorResponse.java @@ -92,16 +92,19 @@ public ErrorCode errorCode() { return this.errorCode; } + /** + * Returns error code string. + */ + public String code() { + return this.code; + } + /** * Returns error message. */ public String message() { - if (this.message != null) { - return this.message; - } else { - return this.errorCode.message(); - } + return this.message; } @@ -165,7 +168,7 @@ public String getString() { + "message=" + message + ", " + "bucketName=" + bucketName + ", " + "objectName=" + objectName + ", " - + "resouce=" + resource + ", " + + "resource=" + resource + ", " + "requestId=" + requestId + ", " + "hostId=" + hostId + ")";