projects
/
lgpl
/
argeo-commons.git
/ commitdiff
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
b14f0d4
)
Make Jetty context path handling less restrictive
author
Mathieu Baudier <mbaudier@argeo.org>
Thu, 3 Nov 2022 04:47:13 +0000
(
05:47
+0100)
committer
Mathieu Baudier <mbaudier@argeo.org>
Thu, 3 Nov 2022 04:47:13 +0000
(
05:47
+0100)
org.argeo.cms.lib.jetty/src/org/argeo/cms/jetty/JettyHttpServer.java
patch
|
blob
|
history
swt/rcp/org.argeo.cms.swt.rcp/src/org/argeo/cms/ui/rcp/servlet/CmsRcpServletFactory.java
patch
|
blob
|
history
diff --git
a/org.argeo.cms.lib.jetty/src/org/argeo/cms/jetty/JettyHttpServer.java
b/org.argeo.cms.lib.jetty/src/org/argeo/cms/jetty/JettyHttpServer.java
index 11cce74cdc2e1b50a0b8294fa0b30a8d61a27c45..d393e4b2b28b402ffbe2af1c5dcb514c8b691c7a 100644
(file)
--- a/
org.argeo.cms.lib.jetty/src/org/argeo/cms/jetty/JettyHttpServer.java
+++ b/
org.argeo.cms.lib.jetty/src/org/argeo/cms/jetty/JettyHttpServer.java
@@
-241,10
+241,10
@@
public class JettyHttpServer extends HttpsServer {
@Override
public synchronized HttpContext createContext(String path) {
@Override
public synchronized HttpContext createContext(String path) {
+ if (!path.endsWith("/"))
+ path = path + "/";
if (contexts.containsKey(path))
throw new IllegalArgumentException("Context " + path + " already exists");
if (contexts.containsKey(path))
throw new IllegalArgumentException("Context " + path + " already exists");
- if (!path.endsWith("/"))
- throw new IllegalArgumentException("Path " + path + " should end with a /");
JettyHttpContext httpContext = new ServletHttpContext(this, path);
contexts.put(path, httpContext);
JettyHttpContext httpContext = new ServletHttpContext(this, path);
contexts.put(path, httpContext);
diff --git
a/swt/rcp/org.argeo.cms.swt.rcp/src/org/argeo/cms/ui/rcp/servlet/CmsRcpServletFactory.java
b/swt/rcp/org.argeo.cms.swt.rcp/src/org/argeo/cms/ui/rcp/servlet/CmsRcpServletFactory.java
index 9c2f3095cb5dc987f6055e66ded44bce0eb28e52..778cd1b217728f67c0d858bb40b6ffb753eba150 100644
(file)
--- a/
swt/rcp/org.argeo.cms.swt.rcp/src/org/argeo/cms/ui/rcp/servlet/CmsRcpServletFactory.java
+++ b/
swt/rcp/org.argeo.cms.swt.rcp/src/org/argeo/cms/ui/rcp/servlet/CmsRcpServletFactory.java
@@
-24,7
+24,7
@@
import com.sun.net.httpserver.HttpServer;
/** Publishes one {@link CmsRcpServlet} per {@link CmsApp}. */
public class CmsRcpServletFactory {
private final static Logger logger = System.getLogger(CmsRcpServletFactory.class.getName());
/** Publishes one {@link CmsRcpServlet} per {@link CmsApp}. */
public class CmsRcpServletFactory {
private final static Logger logger = System.getLogger(CmsRcpServletFactory.class.getName());
- private CompletableFuture<HttpServer> httpServer =new CompletableFuture<>();
+ private CompletableFuture<HttpServer> httpServer =
new CompletableFuture<>();
public void init() {
public void init() {
@@
-56,6
+56,9
@@
public class CmsRcpServletFactory {
logger.log(Level.DEBUG, "Opened RCP UI " + uiName + " of CMS App /" + contextName);
}
});
logger.log(Level.DEBUG, "Opened RCP UI " + uiName + " of CMS App /" + contextName);
}
});
+ }).exceptionally(e -> {
+ logger.log(Level.ERROR, "Cannot register RCO app " + contextName, e);
+ return null;
});
logger.log(Level.DEBUG, "Registered RCP CMS APP /" + contextName);
}
});
logger.log(Level.DEBUG, "Registered RCP CMS APP /" + contextName);
}