diff options
author | Bjørn Christian Seime <bjorncs@yahooinc.com> | 2023-02-09 15:07:44 +0100 |
---|---|---|
committer | Bjørn Christian Seime <bjorncs@yahooinc.com> | 2023-02-09 15:18:43 +0100 |
commit | 488a3986b3271e49c56945f84bca6bc68bf289bc (patch) | |
tree | 70c6e7f8dd08a4c223c1889a6b0023eac039020b /container-core/src/main/java/com/yahoo/container | |
parent | 6ef87df07fa0c0ffdd595e39647e8253cb558d92 (diff) |
Introduce capability support for jdisc request handlers
Add trait like interface to define capability mapping based on HTTP method and uri path.
Enforce required capabilities through wrapper handler through existing filtering request handler.
Diffstat (limited to 'container-core/src/main/java/com/yahoo/container')
-rw-r--r-- | container-core/src/main/java/com/yahoo/container/jdisc/utils/CapabilityRequiringRequestHandler.java | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/container-core/src/main/java/com/yahoo/container/jdisc/utils/CapabilityRequiringRequestHandler.java b/container-core/src/main/java/com/yahoo/container/jdisc/utils/CapabilityRequiringRequestHandler.java new file mode 100644 index 00000000000..1dd866ae571 --- /dev/null +++ b/container-core/src/main/java/com/yahoo/container/jdisc/utils/CapabilityRequiringRequestHandler.java @@ -0,0 +1,19 @@ +// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. + +package com.yahoo.container.jdisc.utils; + +import com.yahoo.container.jdisc.RequestView; +import com.yahoo.jdisc.handler.RequestHandler; +import com.yahoo.security.tls.Capability; +import com.yahoo.security.tls.CapabilitySet; + +/** + * @author bjorncs + */ +public interface CapabilityRequiringRequestHandler extends RequestHandler { + + CapabilitySet DEFAULT_REQUIRED_CAPABILITIES = CapabilitySet.from(Capability.HTTP_UNCLASSIFIED); + + default CapabilitySet requiredCapabilities(RequestView req) { return DEFAULT_REQUIRED_CAPABILITIES; } + +} |