summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@oath.com>2018-10-25 16:11:51 +0200
committerBjørn Christian Seime <bjorncs@oath.com>2018-10-25 16:11:51 +0200
commitd584ece125486c8fe400a00f2f797e924df9b920 (patch)
treef14febe6c163ff736ad5632384f78fcfb95fe29b
parentcaf2513a89cd29fb473f404e4389f0265ee8b594 (diff)
Don't parse entity for responses without content
-rw-r--r--vespa-athenz/src/main/java/com/yahoo/vespa/athenz/client/common/ClientBase.java6
-rw-r--r--vespa-athenz/src/main/java/com/yahoo/vespa/athenz/client/zms/DefaultZmsClient.java11
2 files changed, 9 insertions, 8 deletions
diff --git a/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/client/common/ClientBase.java b/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/client/common/ClientBase.java
index 02952d7c26b..7ff9db327d3 100644
--- a/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/client/common/ClientBase.java
+++ b/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/client/common/ClientBase.java
@@ -60,7 +60,11 @@ public abstract class ClientBase implements AutoCloseable {
protected <T> T readEntity(HttpResponse response, Class<T> entityType) throws IOException {
if (HttpStatus.isSuccess(response.getStatusLine().getStatusCode())) {
- return objectMapper.readValue(response.getEntity().getContent(), entityType);
+ if (entityType.equals(Void.class)) {
+ return null;
+ } else {
+ return objectMapper.readValue(response.getEntity().getContent(), entityType);
+ }
} else {
ErrorResponseEntity errorEntity = objectMapper.readValue(response.getEntity().getContent(), ErrorResponseEntity.class);
throw exceptionFactory.createException(errorEntity.code, errorEntity.description);
diff --git a/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/client/zms/DefaultZmsClient.java b/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/client/zms/DefaultZmsClient.java
index ed9c1da56c2..b68dc2dd758 100644
--- a/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/client/zms/DefaultZmsClient.java
+++ b/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/client/zms/DefaultZmsClient.java
@@ -62,10 +62,7 @@ public class DefaultZmsClient extends ClientBase implements ZmsClient {
.addHeader(creatOktaAccessTokenHeader(token))
.setEntity(toJsonStringEntity(new TenancyRequestEntity(tenantDomain, providerService, Collections.emptyList())))
.build();
- execute(request, response -> {
- readEntity(response, String.class);
- return response.getStatusLine().getStatusCode();
- });
+ execute(request, response -> readEntity(response, Void.class));
}
@Override
@@ -75,7 +72,7 @@ public class DefaultZmsClient extends ClientBase implements ZmsClient {
.setUri(uri)
.addHeader(creatOktaAccessTokenHeader(token))
.build();
- execute(request, response -> readEntity(response, String.class));
+ execute(request, response -> readEntity(response, Void.class));
}
@Override
@@ -86,7 +83,7 @@ public class DefaultZmsClient extends ClientBase implements ZmsClient {
.addHeader(creatOktaAccessTokenHeader(token))
.setEntity(toJsonStringEntity(new ProviderResourceGroupRolesRequestEntity(providerService, tenantDomain, roleActions, resourceGroup)))
.build();
- execute(request, response -> readEntity(response, String.class)); // The ZMS API will return a json object that is similar to ProviderResourceGroupRolesRequestEntity
+ execute(request, response -> readEntity(response, Void.class)); // Note: The ZMS API will actually return a json object that is similar to ProviderResourceGroupRolesRequestEntity
}
@Override
@@ -96,7 +93,7 @@ public class DefaultZmsClient extends ClientBase implements ZmsClient {
.setUri(uri)
.addHeader(creatOktaAccessTokenHeader(token))
.build();
- execute(request, response -> readEntity(response, String.class));
+ execute(request, response -> readEntity(response, Void.class));
}
@Override