This is an automated email from the ASF dual-hosted git repository. amichair pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/aries-rsa.git
commit e65926dcbade11c839b5897f5921a02fbf10e11f Author: Amichai Rothman <[email protected]> AuthorDate: Sun Jun 7 17:07:49 2026 +0300 ARIES-2235 Fix slashes in mdns listen path --- .../apache/aries/rsa/discovery/mdns/MdnsDiscovery.java | 17 +++++++---------- .../rsa/discovery/mdns/PublishingEndpointListener.java | 3 ++- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/discovery/mdns/src/main/java/org/apache/aries/rsa/discovery/mdns/MdnsDiscovery.java b/discovery/mdns/src/main/java/org/apache/aries/rsa/discovery/mdns/MdnsDiscovery.java index 5e752066..a02c3acd 100644 --- a/discovery/mdns/src/main/java/org/apache/aries/rsa/discovery/mdns/MdnsDiscovery.java +++ b/discovery/mdns/src/main/java/org/apache/aries/rsa/discovery/mdns/MdnsDiscovery.java @@ -115,28 +115,25 @@ public class MdnsDiscovery { if (jmdns != null) { RuntimeDTO runtimeDTO = runtime.getRuntimeDTO(); List<String> uris = StringPlus.normalize(runtimeDTO.serviceDTO.properties.get(JAX_RS_SERVICE_ENDPOINT)); - if (uris == null || uris.isEmpty()) { LOG.warn("Unable to advertise discovery as there are no endpoint URIs"); return; } - - String base = runtimeDTO.defaultApplication.base; - if (base == null) { - base = ""; - } - - base += "/aries/rsa/discovery"; - URI uri = uris.stream() .filter(s -> s.matches(".*(?:[0-9]{1,3}\\.){3}[0-9]{1,3}.*")) .findFirst() .map(URI::create) .orElseGet(() -> URI.create(uris.get(0))); + String path = uri.getPath(); + String base = runtimeDTO.defaultApplication.base; + path = ((path == null ? "" : path) + "/" + + (base == null ? "" : base) + "/" + + PublishingEndpointListener.LISTEN_PATH) + .replaceAll("//+", "/"); Map<String, Object> props = new HashMap<>(); props.put("scheme", uri.getScheme() == null ? "" : uri.getScheme()); - props.put("path", uri.getPath() == null ? base : uri.getPath() + base); + props.put("path", path); props.put("frameworkUuid", fwUuid); ServiceInfo info = ServiceInfo.create(_ARIES_DISCOVERY_HTTP_TCP_LOCAL, fwUuid, uri.getPort(), 0, 0, props); diff --git a/discovery/mdns/src/main/java/org/apache/aries/rsa/discovery/mdns/PublishingEndpointListener.java b/discovery/mdns/src/main/java/org/apache/aries/rsa/discovery/mdns/PublishingEndpointListener.java index 08fae8c7..46788350 100644 --- a/discovery/mdns/src/main/java/org/apache/aries/rsa/discovery/mdns/PublishingEndpointListener.java +++ b/discovery/mdns/src/main/java/org/apache/aries/rsa/discovery/mdns/PublishingEndpointListener.java @@ -53,6 +53,7 @@ import org.slf4j.LoggerFactory; public class PublishingEndpointListener { private static final Logger LOG = LoggerFactory.getLogger(PublishingEndpointListener.class); + public static final String LISTEN_PATH = "/aries/rsa/discovery"; private final EndpointDescriptionParser parser; @@ -109,7 +110,7 @@ public class PublishingEndpointListener { @GET @Produces(SERVER_SENT_EVENTS) - @Path("aries/rsa/discovery") + @Path(LISTEN_PATH) public void listen(@Context Sse sse, @Context SseEventSink sink) { Subscription subscription = new Subscription(sse, sink); listeners.add(subscription);
