diff options
author | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2021-03-25 17:01:14 +0100 |
---|---|---|
committer | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2021-03-26 13:49:39 +0100 |
commit | c58704ff3dd6b204c4df28499e418bb8e77f72d2 (patch) | |
tree | 2bfab01b11d442b1aa37611c365f2c00fed7cced /athenz-identity-provider-service | |
parent | a9c2fe028dbec15644923a9de800320c15b90579 (diff) |
Optional inject request entity to handler for POST,PUT,PATCH
Diffstat (limited to 'athenz-identity-provider-service')
2 files changed, 8 insertions, 8 deletions
diff --git a/athenz-identity-provider-service/src/main/java/com/yahoo/vespa/hosted/athenz/instanceproviderservice/IdentityProviderRequestHandler.java b/athenz-identity-provider-service/src/main/java/com/yahoo/vespa/hosted/athenz/instanceproviderservice/IdentityProviderRequestHandler.java index 8593401b887..fe6fa0baf2d 100644 --- a/athenz-identity-provider-service/src/main/java/com/yahoo/vespa/hosted/athenz/instanceproviderservice/IdentityProviderRequestHandler.java +++ b/athenz-identity-provider-service/src/main/java/com/yahoo/vespa/hosted/athenz/instanceproviderservice/IdentityProviderRequestHandler.java @@ -42,9 +42,12 @@ public class IdentityProviderRequestHandler extends RestApiRequestHandler<Identi .addRoute(RestApi.route("/athenz/v1/provider/identity-document/tenant/{host}") .get(self::getTenantIdentityDocument)) .addRoute(RestApi.route("/athenz/v1/provider/instance") - .post(self::confirmInstance)) + .post(InstanceConfirmation.class, self::confirmInstance)) .addRoute(RestApi.route("/athenz/v1/provider/refresh") - .post(self::confirmInstanceRefresh)) + .post(InstanceConfirmation.class, self::confirmInstanceRefresh)) + .registerJacksonRequestEntity(InstanceConfirmation.class) + .registerJacksonResponseEntity(InstanceConfirmation.class) + .registerJacksonResponseEntity(SignedIdentityDocumentEntity.class) // Overriding object mapper to change serialization of timestamps .setObjectMapper(new ObjectMapper() .registerModule(new JavaTimeModule()) @@ -63,8 +66,7 @@ public class IdentityProviderRequestHandler extends RestApiRequestHandler<Identi return getIdentityDocument(host, IdentityType.TENANT); } - private InstanceConfirmation confirmInstance(RestApi.RequestContext context) { - InstanceConfirmation instanceConfirmation = context.requestContentOrThrow().consumeJacksonEntity(InstanceConfirmation.class); + private InstanceConfirmation confirmInstance(RestApi.RequestContext context, InstanceConfirmation instanceConfirmation) { log.log(Level.FINE, instanceConfirmation.toString()); if (!instanceValidator.isValidInstance(instanceConfirmation)) { log.log(Level.SEVERE, "Invalid instance: " + instanceConfirmation); @@ -73,8 +75,7 @@ public class IdentityProviderRequestHandler extends RestApiRequestHandler<Identi return instanceConfirmation; } - private InstanceConfirmation confirmInstanceRefresh(RestApi.RequestContext context) { - InstanceConfirmation instanceConfirmation = context.requestContentOrThrow().consumeJacksonEntity(InstanceConfirmation.class); + private InstanceConfirmation confirmInstanceRefresh(RestApi.RequestContext context, InstanceConfirmation instanceConfirmation) { log.log(Level.FINE, instanceConfirmation.toString()); if (!instanceValidator.isValidRefresh(instanceConfirmation)) { log.log(Level.SEVERE, "Invalid instance refresh: " + instanceConfirmation); diff --git a/athenz-identity-provider-service/src/main/java/com/yahoo/vespa/hosted/athenz/instanceproviderservice/InstanceConfirmation.java b/athenz-identity-provider-service/src/main/java/com/yahoo/vespa/hosted/athenz/instanceproviderservice/InstanceConfirmation.java index 27507c425cd..5641eb51668 100644 --- a/athenz-identity-provider-service/src/main/java/com/yahoo/vespa/hosted/athenz/instanceproviderservice/InstanceConfirmation.java +++ b/athenz-identity-provider-service/src/main/java/com/yahoo/vespa/hosted/athenz/instanceproviderservice/InstanceConfirmation.java @@ -13,7 +13,6 @@ import com.fasterxml.jackson.databind.JsonSerializer; import com.fasterxml.jackson.databind.SerializerProvider; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.yahoo.restapi.RestApi; import com.yahoo.vespa.athenz.identityprovider.api.bindings.SignedIdentityDocumentEntity; import java.io.IOException; @@ -26,7 +25,7 @@ import java.util.Objects; * * @author bjorncs */ -public class InstanceConfirmation implements RestApi.JacksonRequestEntity, RestApi.JacksonResponseEntity { +public class InstanceConfirmation { @JsonProperty("provider") public final String provider; @JsonProperty("domain") public final String domain; |