diff options
author | Morten Tokle <mortent@verizonmedia.com> | 2021-04-22 14:52:26 +0200 |
---|---|---|
committer | Morten Tokle <mortent@verizonmedia.com> | 2021-04-22 14:52:26 +0200 |
commit | cd91e6cd80ab56a12d99a0940d38f8ee8286fd7b (patch) | |
tree | 377e2882c682a4b886bd09f533740c7301679ced /container-search/src/main/java/com | |
parent | 4c46d92474745467a53eb53336fd4c5c162b2375 (diff) |
Provide standard mapping
Diffstat (limited to 'container-search/src/main/java/com')
-rw-r--r-- | container-search/src/main/java/com/yahoo/search/handler/SearchHandler.java | 24 |
1 files changed, 7 insertions, 17 deletions
diff --git a/container-search/src/main/java/com/yahoo/search/handler/SearchHandler.java b/container-search/src/main/java/com/yahoo/search/handler/SearchHandler.java index e7c5511f259..65dc1052a78 100644 --- a/container-search/src/main/java/com/yahoo/search/handler/SearchHandler.java +++ b/container-search/src/main/java/com/yahoo/search/handler/SearchHandler.java @@ -11,6 +11,7 @@ import com.yahoo.container.QrSearchersConfig; import com.yahoo.container.core.ChainsConfig; import com.yahoo.container.core.ContainerHttpConfig; import com.yahoo.container.handler.threadpool.ContainerThreadPool; +import com.yahoo.container.jdisc.HttpMethodAclMapping; import com.yahoo.container.jdisc.HttpRequest; import com.yahoo.container.jdisc.HttpResponse; import com.yahoo.container.jdisc.LoggingRequestHandler; @@ -106,7 +107,8 @@ public class SearchHandler extends LoggingRequestHandler { private final AtomicLong numRequestsLeftToTrace; - private final static RequestHandlerSpec REQUEST_HANDLER_SPEC = RequestHandlerSpec.builder().withAclMapping(SearchHandler::mapRequestToAction).build(); + private final static RequestHandlerSpec REQUEST_HANDLER_SPEC = RequestHandlerSpec.builder() + .withAclMapping(SearchHandler.aclRequestMapper()).build(); private final class MeanConnections implements Callback { @@ -641,22 +643,10 @@ public class SearchHandler extends LoggingRequestHandler { return REQUEST_HANDLER_SPEC; } - private static AclMapping.Action mapRequestToAction(RequestView requestMeta) { - switch (requestMeta.method()){ - case GET: - case POST: - case HEAD: - case OPTIONS: - return AclMapping.Action.READ; - case PUT: - case DELETE: - case CONNECT: - case TRACE: - case PATCH: - return AclMapping.Action.WRITE; - default: - throw new IllegalArgumentException("Illegal method " + requestMeta.method()); - } + private static AclMapping aclRequestMapper() { + return HttpMethodAclMapping.standard() + .override(com.yahoo.jdisc.http.HttpRequest.Method.POST, AclMapping.Action.READ) + .build(); } } |