You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@james.apache.org by bt...@apache.org on 2023/06/01 08:50:32 UTC
[james-project] 06/09: JAMES-3906 Allow SSL reload of a specific server via the port number
This is an automated email from the ASF dual-hosted git repository.
btellier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git
commit 0f9d475675023796ec4c1595bbe05461be6a35ab
Author: Benoit Tellier <bt...@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-unsubscribe@james.apache.org
For additional commands, e-mail: notifications-help@james.apache.org