summaryrefslogtreecommitdiffstats
path: root/jrt/src/com/yahoo/jrt/Method.java
diff options
context:
space:
mode:
Diffstat (limited to 'jrt/src/com/yahoo/jrt/Method.java')
-rw-r--r--jrt/src/com/yahoo/jrt/Method.java9
1 files changed, 9 insertions, 0 deletions
diff --git a/jrt/src/com/yahoo/jrt/Method.java b/jrt/src/com/yahoo/jrt/Method.java
index e69c6bcd802..a5e5e7280d9 100644
--- a/jrt/src/com/yahoo/jrt/Method.java
+++ b/jrt/src/com/yahoo/jrt/Method.java
@@ -2,6 +2,9 @@
package com.yahoo.jrt;
+import com.yahoo.security.tls.Capability;
+import com.yahoo.security.tls.CapabilitySet;
+
/**
* <p>A Method encapsulates the reflective information about a single RPC
* method.</p>
@@ -150,6 +153,12 @@ public class Method {
}
public Method requestAccessFilter(RequestAccessFilter filter) { this.filter = filter; return this; }
+ public Method requireCapabilities(Capability... capabilities) { return requireCapabilities(CapabilitySet.from(capabilities)); }
+ public Method requireCapabilities(CapabilitySet capabilities) {
+ if (filter != null) throw new IllegalStateException();
+ filter = new RequireCapabilitiesFilter(capabilities);
+ return this;
+ }
public RequestAccessFilter requestAccessFilter() { return filter; }