import org.argeo.api.cms.CmsLog;
import org.argeo.api.cms.CmsState;
import org.argeo.cms.CmsDeployProperty;
-import org.argeo.cms.http.HttpServerUtils;
+import org.argeo.cms.http.server.HttpServerUtils;
import org.eclipse.jetty.http.UriCompliance;
import org.eclipse.jetty.server.HttpConfiguration;
import org.eclipse.jetty.server.HttpConnectionFactory;
import org.argeo.api.acr.ContentNotFoundException;
import org.argeo.cms.http.HttpHeader;
import org.argeo.cms.http.HttpMethod;
-import org.argeo.cms.http.HttpServerUtils;
import org.argeo.cms.http.HttpStatus;
+import org.argeo.cms.http.server.HttpServerUtils;
import com.sun.net.httpserver.HttpExchange;
import com.sun.net.httpserver.HttpHandler;
+++ /dev/null
-package org.argeo.cms.http;
-
-import java.net.URI;
-import java.util.Objects;
-
-import com.sun.net.httpserver.HttpContext;
-import com.sun.net.httpserver.HttpExchange;
-
-/** HTTP utilities on the server-side. */
-public class HttpServerUtils {
- private final static String SLASH = "/";
-
- private static String extractPathWithingContext(HttpContext httpContext, String fullPath, boolean startWithSlash) {
- Objects.requireNonNull(fullPath);
- String contextPath = httpContext.getPath();
- if (!fullPath.startsWith(contextPath))
- throw new IllegalArgumentException(fullPath + " does not belong to context" + contextPath);
- String path = fullPath.substring(contextPath.length());
- // TODO optimise?
- if (!startWithSlash && path.startsWith(SLASH)) {
- path = path.substring(1);
- } else if (startWithSlash && !path.startsWith(SLASH)) {
- path = SLASH + path;
- }
- return path;
- }
-
- /** Path within the context, NOT starting with a slash. */
- public static String relativize(HttpExchange exchange) {
- URI uri = exchange.getRequestURI();
- HttpContext httpContext = exchange.getHttpContext();
- return extractPathWithingContext(httpContext, uri.getPath(), false);
- }
-
- /** Path within the context, starting with a slash. */
- public static String subPath(HttpExchange exchange) {
- URI uri = exchange.getRequestURI();
- HttpContext httpContext = exchange.getHttpContext();
- return extractPathWithingContext(httpContext, uri.getPath(), true);
- }
-
- /** singleton */
- private HttpServerUtils() {
-
- }
-}
--- /dev/null
+package org.argeo.cms.http.server;
+
+import java.net.URI;
+import java.util.Objects;
+
+import com.sun.net.httpserver.HttpContext;
+import com.sun.net.httpserver.HttpExchange;
+
+/** HTTP utilities on the server-side. */
+public class HttpServerUtils {
+ private final static String SLASH = "/";
+
+ private static String extractPathWithingContext(HttpContext httpContext, String fullPath, boolean startWithSlash) {
+ Objects.requireNonNull(fullPath);
+ String contextPath = httpContext.getPath();
+ if (!fullPath.startsWith(contextPath))
+ throw new IllegalArgumentException(fullPath + " does not belong to context" + contextPath);
+ String path = fullPath.substring(contextPath.length());
+ // TODO optimise?
+ if (!startWithSlash && path.startsWith(SLASH)) {
+ path = path.substring(1);
+ } else if (startWithSlash && !path.startsWith(SLASH)) {
+ path = SLASH + path;
+ }
+ return path;
+ }
+
+ /** Path within the context, NOT starting with a slash. */
+ public static String relativize(HttpExchange exchange) {
+ URI uri = exchange.getRequestURI();
+ HttpContext httpContext = exchange.getHttpContext();
+ return extractPathWithingContext(httpContext, uri.getPath(), false);
+ }
+
+ /** Path within the context, starting with a slash. */
+ public static String subPath(HttpExchange exchange) {
+ URI uri = exchange.getRequestURI();
+ HttpContext httpContext = exchange.getHttpContext();
+ return extractPathWithingContext(httpContext, uri.getPath(), true);
+ }
+
+ /** singleton */
+ private HttpServerUtils() {
+
+ }
+}