diff options
Diffstat (limited to 'jdisc-security-filters/src/main/java/com/yahoo/jdisc/http/filter/security/athenz/StaticRequestResourceMapper.java')
-rw-r--r-- | jdisc-security-filters/src/main/java/com/yahoo/jdisc/http/filter/security/athenz/StaticRequestResourceMapper.java | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/jdisc-security-filters/src/main/java/com/yahoo/jdisc/http/filter/security/athenz/StaticRequestResourceMapper.java b/jdisc-security-filters/src/main/java/com/yahoo/jdisc/http/filter/security/athenz/StaticRequestResourceMapper.java new file mode 100644 index 00000000000..1f9090876f7 --- /dev/null +++ b/jdisc-security-filters/src/main/java/com/yahoo/jdisc/http/filter/security/athenz/StaticRequestResourceMapper.java @@ -0,0 +1,33 @@ +// Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +package com.yahoo.jdisc.http.filter.security.athenz; + +import com.google.inject.Inject; +import com.yahoo.vespa.athenz.api.AthenzResourceName; + +import java.util.Optional; + +/** + * A simple {@link RequestResourceMapper} that uses a fixed resource name and action + * + * @author bjorncs + */ +public class StaticRequestResourceMapper implements RequestResourceMapper { + + private final AthenzResourceName resourceName; + private final String action; + + @Inject + public StaticRequestResourceMapper(StaticRequestResourceMapperConfig config) { + this(AthenzResourceName.fromString(config.resourceName()), config.action()); + } + + StaticRequestResourceMapper(AthenzResourceName resourceName, String action) { + this.resourceName = resourceName; + this.action = action; + } + + @Override + public Optional<ResourceNameAndAction> getResourceNameAndMapping(String method, String uriPath, String uriQuery) { + return Optional.of(new ResourceNameAndAction(resourceName, action)); + } +} |