Skip to content

Commit

Permalink
Refactor processResponseError in ServerRuntime
Browse files Browse the repository at this point in the history
Signed-off-by: Maxim Nesen <[email protected]>
  • Loading branch information
senivam committed Dec 6, 2021
1 parent aea2d4b commit 28a89ce
Showing 1 changed file with 9 additions and 2 deletions.
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2021 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0, which is available at
Expand Down Expand Up @@ -460,6 +460,8 @@ private boolean processResponseError(final Throwable responseError) {
final Iterable<ResponseErrorMapper> mappers = Providers.getAllProviders(runtime.injectionManager,
ResponseErrorMapper.class);

ContainerResponse processedResponse = null;

try {
Response processedError = null;
for (final ResponseErrorMapper mapper : mappers) {
Expand All @@ -470,11 +472,16 @@ private boolean processResponseError(final Throwable responseError) {
}

if (processedError != null) {
processResponse(new ContainerResponse(processingContext.request(), processedError));
processedResponse =
processResponse(new ContainerResponse(processingContext.request(), processedError));
processed = true;
}
} catch (final Throwable throwable) {
LOGGER.log(Level.FINE, LocalizationMessages.ERROR_EXCEPTION_MAPPING_PROCESSED_RESPONSE_ERROR(), throwable);
} finally {
if (processedResponse != null) {
release(processedResponse);
}
}
}

Expand Down

0 comments on commit 28a89ce

Please sign in to comment.