This is an automated email from the ASF dual-hosted git repository. btellier pushed a commit to branch 3.8.x in repository https://gitbox.apache.org/repos/asf/james-project.git
commit a8d36a520fcbe4eed08bf0fb31ee5e1950887c5c Author: Benoit Tellier <btell...@linagora.com> AuthorDate: Thu May 25 11:25:06 2023 +0700 JAMES-3906 Allow SSL reload of a specific server via the port number --- .../apache/james/protocols/webadmin/ProtocolServerRoutes.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/server/protocols/webadmin/webadmin-protocols/src/main/java/org/apache/james/protocols/webadmin/ProtocolServerRoutes.java b/server/protocols/webadmin/webadmin-protocols/src/main/java/org/apache/james/protocols/webadmin/ProtocolServerRoutes.java index 4dabb780c1..028b75f3e1 100644 --- a/server/protocols/webadmin/webadmin-protocols/src/main/java/org/apache/james/protocols/webadmin/ProtocolServerRoutes.java +++ b/server/protocols/webadmin/webadmin-protocols/src/main/java/org/apache/james/protocols/webadmin/ProtocolServerRoutes.java @@ -19,12 +19,14 @@ package org.apache.james.protocols.webadmin; +import java.util.Optional; import java.util.Set; import javax.inject.Inject; import org.apache.james.protocols.lib.netty.AbstractConfigurableAsyncServer; import org.apache.james.protocols.lib.netty.AbstractServerFactory; +import org.apache.james.util.Port; import org.apache.james.webadmin.Routes; import org.apache.james.webadmin.utils.ErrorResponder; import org.apache.james.webadmin.utils.Responses; @@ -32,7 +34,9 @@ import org.eclipse.jetty.http.HttpStatus; import com.github.fge.lambdas.Throwing; import com.google.common.base.Preconditions; +import com.google.common.base.Predicate; +import spark.Request; import spark.Service; public class ProtocolServerRoutes implements Routes { @@ -67,12 +71,19 @@ public class ProtocolServerRoutes implements Routes { servers.stream() .flatMap(serverFactory -> serverFactory.getServers().stream()) .filter(AbstractConfigurableAsyncServer::isEnabled) + .filter(filters(request)) .forEach(Throwing.consumer(AbstractConfigurableAsyncServer::reloadSSLCertificate)); return Responses.returnNoContent(response); }); } + private Predicate<AbstractConfigurableAsyncServer> filters(Request request) { + Optional<Port> port = Optional.ofNullable(request.queryParams("port")).map(Integer::parseUnsignedInt).map(Port::of); + + return server -> port.map(p -> server.getPort() == p.getValue()).orElse(true); + } + private boolean noServerEnabled() { return servers.stream() .flatMap(serverFactory -> serverFactory.getServers().stream()) --------------------------------------------------------------------- To unsubscribe, e-mail: notifications-unsubscr...@james.apache.org For additional commands, e-mail: notifications-h...@james.apache.org