diff options
author | Morten Tokle <mortent@yahooinc.com> | 2022-09-12 09:35:36 +0200 |
---|---|---|
committer | Morten Tokle <mortent@yahooinc.com> | 2022-09-12 09:35:36 +0200 |
commit | 4f8bccce3a80181c5e745acedca0accc8bfa3d68 (patch) | |
tree | 1696a3bcd7b9a82b245024c51fae6f950af5bd25 /config-model/src/main/java/com/yahoo/vespa/model/container/xml/SearchHandler.java | |
parent | aa436622a3e954d9da14847339a8ca1055f1a5d1 (diff) |
Restrict data plane bindings
Diffstat (limited to 'config-model/src/main/java/com/yahoo/vespa/model/container/xml/SearchHandler.java')
-rw-r--r-- | config-model/src/main/java/com/yahoo/vespa/model/container/xml/SearchHandler.java | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/SearchHandler.java b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/SearchHandler.java index 54cd061d2c5..596375ea93a 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/SearchHandler.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/SearchHandler.java @@ -11,6 +11,8 @@ import com.yahoo.vespa.model.container.component.chain.ProcessingHandler; import com.yahoo.vespa.model.container.search.searchchain.SearchChains; import java.util.List; +import java.util.Optional; +import java.util.OptionalInt; import static com.yahoo.container.bundle.BundleInstantiationSpecification.fromSearchAndDocproc; @@ -25,7 +27,7 @@ class SearchHandler extends ProcessingHandler<SearchChains> { static final String EXECUTION_FACTORY_CLASS = com.yahoo.search.searchchain.ExecutionFactory.class.getName(); static final BundleInstantiationSpecification HANDLER_SPEC = fromSearchAndDocproc(HANDLER_CLASS); - static final BindingPattern DEFAULT_BINDING = SystemBindingPattern.fromHttpPath("/search/*"); + static final BindingPattern DEFAULT_BINDING = bindingPattern(Optional.empty()); SearchHandler(ApplicationContainerCluster cluster, List<BindingPattern> bindings, @@ -34,6 +36,13 @@ class SearchHandler extends ProcessingHandler<SearchChains> { bindings.forEach(this::addServerBindings); } + static BindingPattern bindingPattern(Optional<String> port) { + String path = "/search/*"; + return port + .filter(s -> !s.isBlank()) + .map(s -> SystemBindingPattern.fromHttpPortAndPath(s, path)) + .orElseGet(() -> SystemBindingPattern.fromHttpPath(path)); + } private static class Threadpool extends ContainerThreadpool { |