diff options
author | mark.j.leonard <mark.j.leonard@gmail.com> | 2017-07-11 12:02:13 +0100 |
---|---|---|
committer | mark.j.leonard <mark.j.leonard@gmail.com> | 2017-07-11 15:24:58 +0100 |
commit | da669cac0eb4e1832082ffb91cf24f998c114dee (patch) | |
tree | d6de32c35276dc2b3d46814e63e5ade64b15aba2 /src/main | |
parent | cf2f6ef5fadb27bab1e65cb25ff9d36acad4a68d (diff) |
Fix incorrect result for a server response of 204
The Rest Client will not always call the method getEntity() on a
com.sun.jersey.api.client.ClientResponse object, which is documented
to throw a UniformInterfaceException if the HTTP server response status
is 204 (No Content).
This fix prevents the Rest Client handling the thrown exception by
returning a 500 response to the caller, which would wrongly indicate
an Internal Server Error.
Change-Id: I7b78d2b43213e330593bbea559025f790db6264f
Issue-ID: AAI-48
Signed-off-by: mark.j.leonard <mark.j.leonard@gmail.com>
Diffstat (limited to 'src/main')
-rw-r--r-- | src/main/java/org/openecomp/restclient/client/RestClient.java | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/main/java/org/openecomp/restclient/client/RestClient.java b/src/main/java/org/openecomp/restclient/client/RestClient.java index 02d19e6..7dbc373 100644 --- a/src/main/java/org/openecomp/restclient/client/RestClient.java +++ b/src/main/java/org/openecomp/restclient/client/RestClient.java @@ -719,16 +719,16 @@ public class RestClient { opResult.setFailureCause("Client response was null"); return; } - + int statusCode = response.getStatus(); - String payload = response.getEntity(String.class); - opResult.setResultCode(statusCode); if (opResult.wasSuccessful()) { - opResult.setResult(payload); + if (statusCode != Response.Status.NO_CONTENT.getStatusCode()) { + opResult.setResult(response.getEntity(String.class)); + } } else { - opResult.setFailureCause(payload); + opResult.setFailureCause(response.getEntity(String.class)); } opResult.setHeaders(response.getHeaders()); |