Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -74,16 +74,14 @@ public ProgramFailureException getExceptionDetails(Exception e, ErrorContext err
private ProgramFailureException getProgramFailureException(HttpResponseException e, ErrorContext errorContext) {
Integer statusCode = e.getStatusCode();
ErrorUtils.ActionErrorPair pair = ErrorUtils.getActionErrorByStatusCode(statusCode);
String errorReason = String.format("%s %s %s", e.getStatusCode(), e.getStatusMessage(),
String errorReason = String.format("%s %s. %s", e.getStatusCode(), e.getStatusMessage(),
pair.getCorrectiveAction());
String errorMessageFormat = "Error occurred in the phase: '%s'. Error message: %s";

String errorMessage = e.getMessage();
String externalDocumentationLink = null;
if (e instanceof GoogleJsonResponseException) {
GoogleJsonResponseException exception = (GoogleJsonResponseException) e;
errorMessage = exception.getDetails() != null ? exception.getDetails().getMessage() :
exception.getMessage();
errorMessage = getErrorMessage((GoogleJsonResponseException) e);

externalDocumentationLink = getExternalDocumentationLink();
if (!Strings.isNullOrEmpty(externalDocumentationLink)) {
Expand All @@ -102,6 +100,17 @@ private ProgramFailureException getProgramFailureException(HttpResponseException
externalDocumentationLink, e);
}

private String getErrorMessage(GoogleJsonResponseException exception) {
if (exception.getDetails() != null) {
try {
return exception.getDetails().toPrettyString();
} catch (IOException e) {
return exception.getDetails().toString();
}
}
return exception.getMessage();
}


/**
* Get a ProgramFailureException with the given error
Expand Down
Loading