Fields of InvalidResposneException made final
Deprecated pseudo-builder methods withStatusCode() and withResponse() in favor of additional constructor arguments to enforce fixed state.
This commit is contained in:
parent
4bf9df5f73
commit
52a1abfb87
@ -814,7 +814,7 @@ public class HTTPVaultConnector implements VaultConnector {
|
|||||||
new InputStreamReader(response.getEntity().getContent()))) {
|
new InputStreamReader(response.getEntity().getContent()))) {
|
||||||
return br.lines().collect(Collectors.joining("\n"));
|
return br.lines().collect(Collectors.joining("\n"));
|
||||||
} catch (IOException ignored) {
|
} catch (IOException ignored) {
|
||||||
throw new InvalidResponseException("Could not parse response body").withStatusCode(200);
|
throw new InvalidResponseException("Could not parse response body", 200);
|
||||||
}
|
}
|
||||||
case 204:
|
case 204:
|
||||||
return "";
|
return "";
|
||||||
@ -827,8 +827,6 @@ public class HTTPVaultConnector implements VaultConnector {
|
|||||||
return request(base, retries - 1);
|
return request(base, retries - 1);
|
||||||
} else {
|
} else {
|
||||||
/* Fail on different error code and/or no retries left */
|
/* Fail on different error code and/or no retries left */
|
||||||
InvalidResponseException ex = new InvalidResponseException("Invalid response code")
|
|
||||||
.withStatusCode(response.getStatusLine().getStatusCode());
|
|
||||||
if (response.getEntity() != null) {
|
if (response.getEntity() != null) {
|
||||||
try (BufferedReader br = new BufferedReader(
|
try (BufferedReader br = new BufferedReader(
|
||||||
new InputStreamReader(response.getEntity().getContent()))) {
|
new InputStreamReader(response.getEntity().getContent()))) {
|
||||||
@ -837,12 +835,14 @@ public class HTTPVaultConnector implements VaultConnector {
|
|||||||
/* Check for "permission denied" response */
|
/* Check for "permission denied" response */
|
||||||
if (!er.getErrors().isEmpty() && er.getErrors().get(0).equals("permission denied"))
|
if (!er.getErrors().isEmpty() && er.getErrors().get(0).equals("permission denied"))
|
||||||
throw new PermissionDeniedException();
|
throw new PermissionDeniedException();
|
||||||
throw ex.withResponse(er.toString());
|
throw new InvalidResponseException("Invalid response code",
|
||||||
|
response.getStatusLine().getStatusCode(), er.toString());
|
||||||
} catch (IOException ignored) {
|
} catch (IOException ignored) {
|
||||||
// Exception ignored.
|
// Exception ignored.
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
throw ex;
|
throw new InvalidResponseException("Invalid response code",
|
||||||
|
response.getStatusLine().getStatusCode());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
|
@ -24,13 +24,15 @@ package de.stklcode.jvault.connector.exception;
|
|||||||
* @since 0.1
|
* @since 0.1
|
||||||
*/
|
*/
|
||||||
public final class InvalidResponseException extends VaultConnectorException {
|
public final class InvalidResponseException extends VaultConnectorException {
|
||||||
private Integer statusCode;
|
private final Integer statusCode;
|
||||||
private String response;
|
private final String response;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructs a new empty exception.
|
* Constructs a new empty exception.
|
||||||
*/
|
*/
|
||||||
public InvalidResponseException() {
|
public InvalidResponseException() {
|
||||||
|
this.statusCode = null;
|
||||||
|
this.response = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -40,6 +42,8 @@ public final class InvalidResponseException extends VaultConnectorException {
|
|||||||
*/
|
*/
|
||||||
public InvalidResponseException(final String message) {
|
public InvalidResponseException(final String message) {
|
||||||
super(message);
|
super(message);
|
||||||
|
this.statusCode = null;
|
||||||
|
this.response = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -49,6 +53,8 @@ public final class InvalidResponseException extends VaultConnectorException {
|
|||||||
*/
|
*/
|
||||||
public InvalidResponseException(final Throwable cause) {
|
public InvalidResponseException(final Throwable cause) {
|
||||||
super(cause);
|
super(cause);
|
||||||
|
this.statusCode = null;
|
||||||
|
this.response = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -59,6 +65,75 @@ public final class InvalidResponseException extends VaultConnectorException {
|
|||||||
*/
|
*/
|
||||||
public InvalidResponseException(final String message, final Throwable cause) {
|
public InvalidResponseException(final String message, final Throwable cause) {
|
||||||
super(message, cause);
|
super(message, cause);
|
||||||
|
this.statusCode = null;
|
||||||
|
this.response = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructs a new exception with the specified detail message and status code.
|
||||||
|
* <p>
|
||||||
|
* The HTTP status code can be retrieved by {@link #getStatusCode()} later.
|
||||||
|
*
|
||||||
|
* @param message the detail message
|
||||||
|
* @param statusCode status code of the HTTP response
|
||||||
|
* @since 0.6.2
|
||||||
|
*/
|
||||||
|
public InvalidResponseException(final String message, final Integer statusCode) {
|
||||||
|
super(message);
|
||||||
|
this.statusCode = statusCode;
|
||||||
|
this.response = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructs a new exception with the specified detail message, cause and status code.
|
||||||
|
* <p>
|
||||||
|
* The HTTP status code can be retrieved by {@link #getStatusCode()} later.
|
||||||
|
*
|
||||||
|
* @param message the detail message
|
||||||
|
* @param statusCode status code of the HTTP response
|
||||||
|
* @param cause the cause
|
||||||
|
* @since 0.6.2
|
||||||
|
*/
|
||||||
|
public InvalidResponseException(final String message, final Integer statusCode, final Throwable cause) {
|
||||||
|
this(message, statusCode, null, cause);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructs a new exception with the specified detail message, cause and status code.
|
||||||
|
* <p>
|
||||||
|
* The HTTP status code can be retrieved by {@link #getStatusCode()} later.
|
||||||
|
*
|
||||||
|
* @param message the detail message
|
||||||
|
* @param statusCode status code of the HTTP response
|
||||||
|
* @param response HTTP response string
|
||||||
|
* @since 0.6.2
|
||||||
|
*/
|
||||||
|
public InvalidResponseException(final String message,
|
||||||
|
final Integer statusCode,
|
||||||
|
final String response) {
|
||||||
|
super(message);
|
||||||
|
this.statusCode = statusCode;
|
||||||
|
this.response = response;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructs a new exception with the specified detail message, cause and status code.
|
||||||
|
* <p>
|
||||||
|
* The HTTP status code can be retrieved by {@link #getStatusCode()} later.
|
||||||
|
*
|
||||||
|
* @param message the detail message
|
||||||
|
* @param statusCode status code of the HTTP response
|
||||||
|
* @param response HTTP response string
|
||||||
|
* @param cause the cause
|
||||||
|
* @since 0.6.2
|
||||||
|
*/
|
||||||
|
public InvalidResponseException(final String message,
|
||||||
|
final Integer statusCode,
|
||||||
|
final String response,
|
||||||
|
final Throwable cause) {
|
||||||
|
super(message, cause);
|
||||||
|
this.statusCode = statusCode;
|
||||||
|
this.response = response;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -66,10 +141,11 @@ public final class InvalidResponseException extends VaultConnectorException {
|
|||||||
*
|
*
|
||||||
* @param statusCode the status code
|
* @param statusCode the status code
|
||||||
* @return self
|
* @return self
|
||||||
|
* @deprecated as of 0.6.2, use constructor with status code argument instead
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
public InvalidResponseException withStatusCode(final Integer statusCode) {
|
public InvalidResponseException withStatusCode(final Integer statusCode) {
|
||||||
this.statusCode = statusCode;
|
return new InvalidResponseException(getMessage(), statusCode, getResponse(), getCause());
|
||||||
return this;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -77,10 +153,11 @@ public final class InvalidResponseException extends VaultConnectorException {
|
|||||||
*
|
*
|
||||||
* @param response response text
|
* @param response response text
|
||||||
* @return self
|
* @return self
|
||||||
|
* @deprecated use constructor with response argument instead
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
public InvalidResponseException withResponse(final String response) {
|
public InvalidResponseException withResponse(final String response) {
|
||||||
this.response = response;
|
return new InvalidResponseException(getMessage(), getStatusCode(), response, getCause());
|
||||||
return this;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
x
Reference in New Issue
Block a user