refactor: rename packages and files to use 'flash' prefix for consistency

This commit is contained in:
Relism
2026-04-26 12:34:49 +02:00
parent 9e19f439be
commit 8a52c4f143
279 changed files with 2774 additions and 752 deletions
-38
View File
@@ -1,38 +0,0 @@
package dev.relism;
/**
* Global Flash constants and runtime environment flags.
*
* <h3>Dev mode</h3>
* Set via JVM property {@code -Dflash.env=dev} or environment variable {@code FLASH_ENV=dev}.
* Checked once at class load — zero runtime overhead.
*
* <p>Dev mode enables:
* <ul>
* <li>HTML error pages with full stack traces (default: JSON generic responses in prod)</li>
* <li>Template cache disabled in {@code flash-ext-view-thymeleaf}</li>
* </ul>
*
* <p>Extensions can read {@link #DEV} to branch behavior without re-implementing the detection:
* <pre>{@code
* if (Flash.DEV) log.debug("Verbose OIDC debug output enabled");
* }</pre>
*/
public final class Flash {
private Flash() {}
public static final String VERSION = "5.0.0-dev";
/**
* {@code true} when running in dev mode.
* Set via {@code -Dflash.env=dev} (JVM property) or {@code FLASH_ENV=dev} (env var).
* JVM property takes precedence.
*/
public static final boolean DEV;
static {
String prop = System.getProperty("flash.env");
DEV = "dev".equalsIgnoreCase(prop != null ? prop : System.getenv("FLASH_ENV"));
}
}
@@ -1,4 +1,4 @@
package dev.relism;
package dev.relism.flash;
import java.io.ByteArrayInputStream;
import java.io.IOException;
@@ -0,0 +1,88 @@
package dev.relism.flash;
import dev.relism.flash.routing.Middleware;
import java.util.ArrayList;
import java.util.List;
import java.util.function.Consumer;
/**
* Global Flash constants and runtime environment flags.
*
* <h3>Dev mode</h3>
* Set via JVM property {@code -Dflash.env=dev} or environment variable {@code FLASH_ENV=dev}.
* Checked once at classloading — zero runtime overhead.
*
* <p>Dev mode enables:
* <ul>
* <li>HTML error pages with full stack traces (default: JSON generic responses in prod)</li>
* <li>Template cache disabled in {@code flash-ext-view-thymeleaf}</li>
* </ul>
*
*/
public final class Flash {
private Flash() {}
public static final String VERSION = "5.0.0-dev";
public static final Commons commons;
public static final boolean DEV;
static {
String prop = System.getProperty("flash.env");
DEV = "dev".equalsIgnoreCase(prop != null ? prop : System.getenv("FLASH_ENV"));
commons = new Commons();
}
public static class Commons {
public final Middlewares middlewares = new Middlewares();
}
public static class Middlewares {
public static class CorsConfig {
private String origin = "*";
private List<String> methods = new ArrayList<>(List.of("GET","POST","PUT","DELETE","OPTIONS"));
private List<String> headers = new ArrayList<>(List.of("*"));
private boolean credentials = false;
public CorsConfig origin(String v) { this.origin = v; return this; }
public CorsConfig methods(String... v) { this.methods = new ArrayList<>(List.of(v)); return this; }
public CorsConfig headers(String... v) { this.headers = new ArrayList<>(List.of(v)); return this; }
public CorsConfig credentials(boolean v) { this.credentials = v; return this; }
public String origin() { return origin; }
public List<String> methods() { return methods; }
public List<String> headers() { return headers; }
public boolean credentials() { return credentials; }
}
public Middleware cors(CorsConfig config) {
return next -> (req, res) -> {
res.header("Access-Control-Allow-Origin", config.origin())
.header("Access-Control-Allow-Methods", String.join(", ", config.methods()));
if (!config.headers().isEmpty()) {
res.header("Access-Control-Allow-Headers", String.join(", ", config.headers()));
}
if (config.credentials()) {
res.header("Access-Control-Allow-Credentials", "true");
}
return next.handle(req, res);
};
}
// stile lambda
public Middleware cors(Consumer<CorsConfig> fn) {
CorsConfig cfg = new CorsConfig(); // default già settati
fn.accept(cfg);
return cors(cfg);
}
// default
public Middleware cors() {
return cors(new CorsConfig());
}
}
}
@@ -1,11 +1,14 @@
package dev.relism;
package dev.relism.flash;
import dev.relism.flash.extension.FlashApp;
import dev.relism.flash.models.Request;
import dev.relism.flash.models.RequestHandler;
import dev.relism.flash.models.Response;
import dev.relism.fpr.core.ByteView;
import dev.relism.http.ContentType;
import dev.relism.http.HttpStatus;
import dev.relism.models.*;
import dev.relism.extension.FlashConfiguration;
import dev.relism.routing.AbstractRouter;
import dev.relism.flash.http.ContentType;
import dev.relism.flash.http.HttpStatus;
import dev.relism.flash.extension.FlashConfiguration;
import dev.relism.flash.routing.AbstractRouter;
import lombok.extern.slf4j.Slf4j;
@@ -28,7 +31,7 @@ import java.util.concurrent.atomic.AtomicReference;
* executor, and the keep-alive accept loop. Routing is delegated to a single
* {@link AbstractRouter}.
*
* <p>Package-private : use {@link dev.relism.extension.FlashApp} as the single
* <p>Package-private : use {@link FlashApp} as the single
* entry point.
*/
@Slf4j
@@ -1,10 +1,10 @@
package dev.relism;
package dev.relism.flash;
import dev.relism.http.HttpMethod;
import dev.relism.models.HeaderMap;
import dev.relism.models.Request;
import dev.relism.models.RequestLine;
import dev.relism.routing.routers.fastpathrouter.FastPathViews;
import dev.relism.flash.http.HttpMethod;
import dev.relism.flash.models.HeaderMap;
import dev.relism.flash.models.Request;
import dev.relism.flash.models.RequestLine;
import dev.relism.flash.routing.routers.fastpathrouter.FastPathViews;
import lombok.extern.slf4j.Slf4j;
@@ -1,14 +1,15 @@
package dev.relism;
package dev.relism.flash;
import dev.relism.extension.FlashConfiguration;
import dev.relism.routing.AbstractRouter;
import dev.relism.flash.extension.FlashApp;
import dev.relism.flash.extension.FlashConfiguration;
import dev.relism.flash.routing.AbstractRouter;
import java.io.IOException;
import java.util.concurrent.CompletableFuture;
/**
* Public handle to the underlying HTTP transport. Returned by {@link #create}
* so that {@link dev.relism.extension.FlashApp} can start and stop the server
* so that {@link FlashApp} can start and stop the server
* without holding a direct reference to the package-private {@link HttpServer}.
*/
public interface ServerHandle {
@@ -1,6 +1,6 @@
package dev.relism.api.multipart;
package dev.relism.flash.api.multipart;
import dev.relism.models.Request;
import dev.relism.flash.models.Request;
import java.io.IOException;
import java.io.InputStream;
@@ -1,4 +1,4 @@
package dev.relism.api.multipart;
package dev.relism.flash.api.multipart;
import java.io.ByteArrayInputStream;
import java.io.IOException;
@@ -1,4 +1,4 @@
package dev.relism.exceptions;
package dev.relism.flash.exceptions;
/**
* Runtime exception carrying an HTTP status code. Extensions map this to a
@@ -1,4 +1,4 @@
package dev.relism.exceptions;
package dev.relism.flash.exceptions;
/**
* Thrown at boot time when Flash detects a configuration or registration error.
@@ -1,7 +1,7 @@
package dev.relism.extension;
package dev.relism.flash.extension;
import dev.relism.models.RequestHandler;
import dev.relism.routing.Middleware;
import dev.relism.flash.models.RequestHandler;
import dev.relism.flash.routing.Middleware;
import java.util.List;
@@ -1,4 +1,4 @@
package dev.relism.extension;
package dev.relism.flash.extension;
/**
* Semantic execution phases for {@link FlashExtension#priority()}.
@@ -1,14 +1,14 @@
package dev.relism.extension;
package dev.relism.flash.extension;
import dev.relism.Flash;
import dev.relism.ServerHandle;
import dev.relism.exceptions.InitializationException;
import dev.relism.http.HttpMethod;
import dev.relism.models.RequestHandler;
import dev.relism.models.SimpleHandler;
import dev.relism.routing.AbstractRouter;
import dev.relism.routing.Middleware;
import dev.relism.routing.routers.fastpathrouter.FastPathRouterImpl;
import dev.relism.flash.Flash;
import dev.relism.flash.ServerHandle;
import dev.relism.flash.exceptions.InitializationException;
import dev.relism.flash.http.HttpMethod;
import dev.relism.flash.models.RequestHandler;
import dev.relism.flash.models.SimpleHandler;
import dev.relism.flash.routing.AbstractRouter;
import dev.relism.flash.routing.Middleware;
import dev.relism.flash.routing.routers.fastpathrouter.FastPathRouterImpl;
import lombok.extern.slf4j.Slf4j;
import java.io.IOException;
@@ -1,4 +1,4 @@
package dev.relism.extension;
package dev.relism.flash.extension;
import lombok.Builder;
import lombok.Value;
@@ -1,4 +1,4 @@
package dev.relism.extension;
package dev.relism.flash.extension;
import java.util.*;
import java.util.function.Supplier;
@@ -1,4 +1,4 @@
package dev.relism.extension;
package dev.relism.flash.extension;
/**
* Two-phase contract for all Flash extensions.
@@ -1,12 +1,12 @@
package dev.relism.extension;
package dev.relism.flash.extension;
import dev.relism.exceptions.InitializationException;
import dev.relism.http.HttpMethod;
import dev.relism.models.RequestHandler;
import dev.relism.models.SimpleHandler;
import dev.relism.routing.Middleware;
import dev.relism.routing.Route;
import dev.relism.routing.Routes;
import dev.relism.flash.exceptions.InitializationException;
import dev.relism.flash.http.HttpMethod;
import dev.relism.flash.models.RequestHandler;
import dev.relism.flash.models.SimpleHandler;
import dev.relism.flash.routing.Middleware;
import dev.relism.flash.routing.Route;
import dev.relism.flash.routing.Routes;
import java.util.List;
@@ -1,10 +1,10 @@
package dev.relism.extension;
package dev.relism.flash.extension;
import dev.relism.http.HttpMethod;
import dev.relism.models.RequestHandler;
import dev.relism.models.SimpleHandler;
import dev.relism.routing.Middleware;
import dev.relism.routing.PathUtils;
import dev.relism.flash.http.HttpMethod;
import dev.relism.flash.models.RequestHandler;
import dev.relism.flash.models.SimpleHandler;
import dev.relism.flash.routing.Middleware;
import dev.relism.flash.routing.PathUtils;
import java.util.ArrayList;
import java.util.List;
@@ -1,8 +1,8 @@
package dev.relism.extension;
package dev.relism.flash.extension;
import dev.relism.exceptions.InitializationException;
import dev.relism.models.RequestHandler;
import dev.relism.routing.Routes;
import dev.relism.flash.exceptions.InitializationException;
import dev.relism.flash.models.RequestHandler;
import dev.relism.flash.routing.Routes;
import java.io.File;
import java.net.URL;
@@ -1,8 +1,8 @@
package dev.relism.extension;
package dev.relism.flash.extension;
import dev.relism.http.HttpMethod;
import dev.relism.models.RequestHandler;
import dev.relism.routing.Middleware;
import dev.relism.flash.http.HttpMethod;
import dev.relism.flash.models.RequestHandler;
import dev.relism.flash.routing.Middleware;
import java.util.List;
@@ -1,7 +1,7 @@
package dev.relism.extension;
package dev.relism.flash.extension;
import dev.relism.http.HttpMethod;
import dev.relism.routing.Middleware;
import dev.relism.flash.http.HttpMethod;
import dev.relism.flash.routing.Middleware;
import java.util.List;
@@ -1,4 +1,4 @@
package dev.relism.extension;
package dev.relism.flash.extension;
/**
* Observer notified once for each route registered on a {@link FlashApp} or {@link FlashScope}.
@@ -1,4 +1,4 @@
package dev.relism.http;
package dev.relism.flash.http;
import lombok.Getter;
@@ -1,4 +1,4 @@
package dev.relism.http;
package dev.relism.flash.http;
import lombok.Getter;
import java.nio.charset.StandardCharsets;
@@ -1,4 +1,4 @@
package dev.relism.http;
package dev.relism.flash.http;
import java.nio.charset.StandardCharsets;
@@ -1,4 +1,4 @@
package dev.relism.models;
package dev.relism.flash.models;
import dev.relism.fpr.core.ByteView;
import lombok.NoArgsConstructor;
@@ -1,5 +1,6 @@
package dev.relism.models;
package dev.relism.flash.models;
import dev.relism.flash.routing.AbstractRouter;
import dev.relism.fpr.core.ByteView;
import java.nio.charset.StandardCharsets;
@@ -23,7 +24,7 @@ public class PathParams {
/**
* Injects path parameters into a request. The cross-package bridge from
* {@link dev.relism.routing.AbstractRouter} keeps {@link Request#setPathParams}
* {@link AbstractRouter} keeps {@link Request#setPathParams}
* package-private while allowing the router to set params without a public setter.
*/
public static void inject(Request request, PathParams params) {
@@ -1,4 +1,4 @@
package dev.relism.models;
package dev.relism.flash.models;
import dev.relism.fpr.core.ByteView;
@@ -1,7 +1,8 @@
package dev.relism.models;
package dev.relism.flash.models;
import dev.relism.flash.RequestParser;
import dev.relism.fpr.core.ByteView;
import dev.relism.http.HttpMethod;
import dev.relism.flash.http.HttpMethod;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.ToString;
@@ -14,7 +15,7 @@ import java.nio.charset.StandardCharsets;
import java.util.List;
/**
* Immutable view of an incoming HTTP/1.1 request. Constructed by {@link dev.relism.RequestParser}
* Immutable view of an incoming HTTP/1.1 request. Constructed by {@link RequestParser}
* and passed directly to route handlers; never modified after creation (path/query params are
* injected once by the router before the handler runs).
*
@@ -1,4 +1,4 @@
package dev.relism.models;
package dev.relism.flash.models;
import java.io.*;
@@ -1,14 +1,16 @@
package dev.relism.models;
package dev.relism.flash.models;
import dev.relism.extension.FlashContext;
import dev.relism.flash.extension.FlashApp;
import dev.relism.flash.extension.FlashContext;
import dev.relism.flash.routing.Route;
import java.util.Optional;
/**
* Base class for class-based route handlers.
*
* <p>Declare the route with {@link dev.relism.routing.Route @Route} or a shorthand such as
* {@code @GET("/path")}, then register via {@link dev.relism.extension.FlashApp#scan}.
* <p>Declare the route with {@link Route @Route} or a shorthand such as
* {@code @GET("/path")}, then register via {@link FlashApp#scan}.
* For ad-hoc routes use the fluent API ({@code app.get(path, handler)} or with middleware).
*
* <h3>Lifecycle</h3>
@@ -47,7 +49,7 @@ public abstract class RequestHandler {
* Injects the {@link FlashContext} and triggers {@link #onInit()}.
*
* <p><b>Infrastructure method</b> do not call from user code.
* Use {@link dev.relism.extension.FlashApp#scan} instead.
* Use {@link FlashApp#scan} instead.
*/
public final void bind(FlashContext ctx) {
this.ctx = ctx;
@@ -1,6 +1,6 @@
package dev.relism.models;
package dev.relism.flash.models;
import dev.relism.exceptions.HttpException;
import dev.relism.flash.exceptions.HttpException;
/**
* Typed accessors for request parameters. All methods throw
@@ -1,7 +1,7 @@
package dev.relism.models;
package dev.relism.flash.models;
import dev.relism.fpr.core.ByteView;
import dev.relism.http.HttpMethod;
import dev.relism.flash.http.HttpMethod;
import lombok.ToString;
import lombok.Value;
@@ -1,7 +1,7 @@
package dev.relism.models;
package dev.relism.flash.models;
import dev.relism.http.ContentType;
import dev.relism.http.HttpStatus;
import dev.relism.flash.http.ContentType;
import dev.relism.flash.http.HttpStatus;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
@@ -1,4 +1,4 @@
package dev.relism.models;
package dev.relism.flash.models;
/**
* Delegates {@link #handle} to a {@link FunctionalHandler} so lambdas can be used without
@@ -1,18 +1,20 @@
package dev.relism.routing;
package dev.relism.flash.routing;
import dev.relism.Flash;
import dev.relism.http.ContentType;
import dev.relism.http.HttpMethod;
import dev.relism.flash.extension.FlashApp;
import dev.relism.flash.models.*;
import dev.relism.flash.routing.routers.fastpathrouter.FastPathRouterImpl;
import dev.relism.flash.Flash;
import dev.relism.flash.http.ContentType;
import dev.relism.flash.http.HttpMethod;
import dev.relism.fpr.core.ByteView;
import dev.relism.models.*;
import dev.relism.template.ErrorPages;
import dev.relism.flash.template.ErrorPages;
import java.nio.charset.StandardCharsets;
/**
* Base router contract. Owns error handlers and the compile-time middleware
* wrapping logic. The only concrete implementation is
* {@link dev.relism.routing.routers.fastpathrouter.FastPathRouterImpl}.
* {@link FastPathRouterImpl}.
*
* <p>All middleware composition happens once at boot time; the hot-path sees
* only a plain {@link RequestHandler} call with zero allocation overhead.
@@ -22,10 +24,10 @@ import java.nio.charset.StandardCharsets;
* <li><b>Dev mode</b> ({@code -Dflash.env=dev}): rich HTML pages with full stack traces.</li>
* <li><b>Prod mode</b> (default): generic JSON no internal detail leaked to clients.</li>
* </ul>
* Override via {@link dev.relism.extension.FlashApp#onNotFound} /
* {@link dev.relism.extension.FlashApp#onException}.
* Override via {@link FlashApp#onNotFound} /
* {@link FlashApp#onException}.
*
* <p><b>Registration</b>: use {@link dev.relism.extension.FlashApp} the single
* <p><b>Registration</b>: use {@link FlashApp} the single
* public registration API. {@link #doRegister} is an infrastructure method.
*/
public abstract class AbstractRouter {
@@ -1,6 +1,6 @@
package dev.relism.routing;
package dev.relism.flash.routing;
import dev.relism.http.HttpMethod;
import dev.relism.flash.http.HttpMethod;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
@@ -1,6 +1,6 @@
package dev.relism.routing;
package dev.relism.flash.routing;
import dev.relism.http.HttpMethod;
import dev.relism.flash.http.HttpMethod;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
@@ -1,6 +1,6 @@
package dev.relism.routing;
package dev.relism.flash.routing;
import dev.relism.http.HttpMethod;
import dev.relism.flash.http.HttpMethod;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
@@ -1,6 +1,6 @@
package dev.relism.routing;
package dev.relism.flash.routing;
import dev.relism.http.HttpMethod;
import dev.relism.flash.http.HttpMethod;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
@@ -1,7 +1,9 @@
package dev.relism.routing;
package dev.relism.flash.routing;
import dev.relism.models.RequestHandler;
import dev.relism.models.SimpleHandler;
import dev.relism.flash.models.Request;
import dev.relism.flash.models.Response;
import dev.relism.flash.models.RequestHandler;
import dev.relism.flash.models.SimpleHandler;
/**
* Stateless interceptor applied around a {@link RequestHandler}.
@@ -10,8 +12,8 @@ import dev.relism.models.SimpleHandler;
* chain inside the router's state machine. There is zero runtime overhead: no lists are visited,
* no lookups performed, and no objects allocated on the request hot-path.
*
* <p>Middleware is intentionally stateless it can read {@link dev.relism.models.Request},
* write to {@link dev.relism.models.Response}, and decide whether to call {@code next} or
* <p>Middleware is intentionally stateless it can read {@link Request},
* write to {@link Response}, and decide whether to call {@code next} or
* short-circuit. Shared state between layers belongs in HDI handler chains, not here.
*
* <pre>{@code
@@ -1,6 +1,6 @@
package dev.relism.routing;
package dev.relism.flash.routing;
import dev.relism.http.HttpMethod;
import dev.relism.flash.http.HttpMethod;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
@@ -1,6 +1,6 @@
package dev.relism.routing;
package dev.relism.flash.routing;
import dev.relism.http.HttpMethod;
import dev.relism.flash.http.HttpMethod;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
@@ -1,6 +1,6 @@
package dev.relism.routing;
package dev.relism.flash.routing;
import dev.relism.http.HttpMethod;
import dev.relism.flash.http.HttpMethod;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
@@ -1,6 +1,6 @@
package dev.relism.routing;
package dev.relism.flash.routing;
import dev.relism.http.HttpMethod;
import dev.relism.flash.http.HttpMethod;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
@@ -1,6 +1,6 @@
package dev.relism.routing;
package dev.relism.flash.routing;
import dev.relism.http.HttpMethod;
import dev.relism.flash.http.HttpMethod;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
@@ -1,4 +1,4 @@
package dev.relism.routing;
package dev.relism.flash.routing;
public class PathUtils {
/**
@@ -1,6 +1,7 @@
package dev.relism.routing;
package dev.relism.flash.routing;
import dev.relism.http.HttpMethod;
import dev.relism.flash.models.RequestHandler;
import dev.relism.flash.http.HttpMethod;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
@@ -8,7 +9,7 @@ import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* HTTP method and path for a class-based {@link dev.relism.models.RequestHandler}.
* HTTP method and path for a class-based {@link RequestHandler}.
* Path is relative to the mount namespace (e.g. {@code path = "/profile"} under {@code /api}
* {@code /api/profile}).
*
@@ -1,6 +1,6 @@
package dev.relism.routing;
package dev.relism.flash.routing;
import dev.relism.http.HttpMethod;
import dev.relism.flash.http.HttpMethod;
import java.lang.annotation.Annotation;
@@ -1,6 +1,6 @@
package dev.relism.routing;
package dev.relism.flash.routing;
import dev.relism.http.HttpMethod;
import dev.relism.flash.http.HttpMethod;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
@@ -1,14 +1,14 @@
package dev.relism.routing.routers.fastpathrouter;
package dev.relism.flash.routing.routers.fastpathrouter;
import dev.relism.fpr.core.ByteView;
import dev.relism.fpr.core.FastPathRouter;
import dev.relism.fpr.core.MatchResult;
import dev.relism.fpr.core.RouterBuilder;
import dev.relism.fpr.core.dsl.StringRouteParser;
import dev.relism.http.HttpMethod;
import dev.relism.models.Request;
import dev.relism.models.RequestHandler;
import dev.relism.routing.AbstractRouter;
import dev.relism.flash.http.HttpMethod;
import dev.relism.flash.models.Request;
import dev.relism.flash.models.RequestHandler;
import dev.relism.flash.routing.AbstractRouter;
/**
* Router backed by the {@code fpr-core} byte-level state machine. Routes are compiled lazily
@@ -1,4 +1,4 @@
package dev.relism.routing.routers.fastpathrouter;
package dev.relism.flash.routing.routers.fastpathrouter;
import dev.relism.fpr.core.ByteView;
import lombok.NoArgsConstructor;
@@ -0,0 +1,5 @@
package dev.relism.flash.routing.routers.radix;
public class RadixPathRouterImpl {
}
@@ -1,4 +1,4 @@
package dev.relism.template;
package dev.relism.flash.template;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
@@ -1,8 +1,8 @@
package dev.relism.template;
package dev.relism.flash.template;
import dev.relism.Flash;
import dev.relism.models.Request;
import dev.relism.models.RequestLine;
import dev.relism.flash.Flash;
import dev.relism.flash.models.Request;
import dev.relism.flash.models.RequestLine;
import lombok.NoArgsConstructor;
import java.io.IOException;
@@ -1,5 +0,0 @@
package dev.relism.routing.routers.radix;
public class RadixPathRouterImpl {
}
@@ -1,4 +1,4 @@
package dev.relism;
package dev.relism.flash;
import org.junit.jupiter.api.Test;
@@ -1,9 +1,9 @@
package dev.relism;
package dev.relism.flash;
import dev.relism.extension.FlashApp;
import dev.relism.extension.FlashConfiguration;
import dev.relism.http.ContentType;
import dev.relism.models.Response;
import dev.relism.flash.extension.FlashApp;
import dev.relism.flash.extension.FlashConfiguration;
import dev.relism.flash.http.ContentType;
import dev.relism.flash.models.Response;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
@@ -1,9 +1,7 @@
package dev.relism;
package dev.relism.flash;
import dev.relism.extension.FlashApp;
import dev.relism.extension.FlashConfiguration;
import dev.relism.http.ContentType;
import dev.relism.models.Response;
import dev.relism.flash.extension.FlashApp;
import dev.relism.flash.extension.FlashConfiguration;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
@@ -15,7 +13,6 @@ import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.nio.charset.StandardCharsets;
import java.util.concurrent.TimeUnit;
import static org.junit.jupiter.api.Assertions.*;
@@ -1,6 +1,6 @@
package dev.relism;
package dev.relism.flash;
import dev.relism.models.Request;
import dev.relism.flash.models.Request;
import org.junit.jupiter.api.Test;
import java.io.ByteArrayInputStream;
@@ -1,10 +1,10 @@
package dev.relism.api.multipart;
package dev.relism.flash.api.multipart;
import dev.relism.fpr.core.ByteView;
import dev.relism.http.HttpMethod;
import dev.relism.models.HeaderMap;
import dev.relism.models.Request;
import dev.relism.models.RequestLine;
import dev.relism.flash.http.HttpMethod;
import dev.relism.flash.models.HeaderMap;
import dev.relism.flash.models.Request;
import dev.relism.flash.models.RequestLine;
import org.junit.jupiter.api.Test;
import java.io.IOException;
@@ -1,4 +1,4 @@
package dev.relism.http;
package dev.relism.flash.http;
import org.junit.jupiter.api.Test;
@@ -1,4 +1,4 @@
package dev.relism.http;
package dev.relism.flash.http;
import org.junit.jupiter.api.Test;
@@ -1,4 +1,4 @@
package dev.relism.http;
package dev.relism.flash.http;
import org.junit.jupiter.api.Test;
@@ -1,4 +1,4 @@
package dev.relism.models;
package dev.relism.flash.models;
import dev.relism.fpr.core.ByteView;
import org.junit.jupiter.api.Test;
@@ -1,4 +1,4 @@
package dev.relism.models;
package dev.relism.flash.models;
import dev.relism.fpr.core.ByteView;
import org.junit.jupiter.api.Test;
@@ -1,4 +1,4 @@
package dev.relism.models;
package dev.relism.flash.models;
import dev.relism.fpr.core.ByteView;
import org.junit.jupiter.api.Test;
@@ -1,4 +1,4 @@
package dev.relism.models;
package dev.relism.flash.models;
import org.junit.jupiter.api.Test;
@@ -1,7 +1,7 @@
package dev.relism.models;
package dev.relism.flash.models;
import dev.relism.fpr.core.ByteView;
import dev.relism.http.HttpMethod;
import dev.relism.flash.http.HttpMethod;
import org.junit.jupiter.api.Test;
import java.nio.charset.StandardCharsets;
@@ -1,7 +1,7 @@
package dev.relism.models;
package dev.relism.flash.models;
import dev.relism.fpr.core.ByteView;
import dev.relism.http.HttpMethod;
import dev.relism.flash.http.HttpMethod;
import org.junit.jupiter.api.Test;
import java.nio.charset.StandardCharsets;
@@ -1,6 +1,6 @@
package dev.relism.models;
package dev.relism.flash.models;
import dev.relism.http.ContentType;
import dev.relism.flash.http.ContentType;
import org.junit.jupiter.api.Test;
import java.io.ByteArrayInputStream;
@@ -1,4 +1,4 @@
package dev.relism.models;
package dev.relism.flash.models;
import org.junit.jupiter.api.Test;
@@ -1,10 +1,10 @@
package dev.relism.routing;
package dev.relism.flash.routing;
import dev.relism.http.HttpMethod;
import dev.relism.models.Request;
import dev.relism.models.RequestHandler;
import dev.relism.models.Response;
import dev.relism.models.SimpleHandler;
import dev.relism.flash.http.HttpMethod;
import dev.relism.flash.models.Request;
import dev.relism.flash.models.RequestHandler;
import dev.relism.flash.models.Response;
import dev.relism.flash.models.SimpleHandler;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
@@ -1,4 +1,4 @@
package dev.relism.routing;
package dev.relism.flash.routing;
import org.junit.jupiter.api.Test;
@@ -1,12 +1,12 @@
package dev.relism.routing.routers.fastpathrouter;
package dev.relism.flash.routing.routers.fastpathrouter;
import dev.relism.http.HttpMethod;
import dev.relism.models.HeaderMap;
import dev.relism.models.Request;
import dev.relism.models.RequestHandler;
import dev.relism.models.RequestLine;
import dev.relism.models.SimpleHandler;
import dev.relism.routing.Middleware;
import dev.relism.flash.http.HttpMethod;
import dev.relism.flash.models.HeaderMap;
import dev.relism.flash.models.Request;
import dev.relism.flash.models.RequestHandler;
import dev.relism.flash.models.RequestLine;
import dev.relism.flash.models.SimpleHandler;
import dev.relism.flash.routing.Middleware;
import org.junit.jupiter.api.Test;
import java.nio.charset.StandardCharsets;
@@ -1,4 +1,4 @@
package dev.relism.routing.routers.fastpathrouter;
package dev.relism.flash.routing.routers.fastpathrouter;
import org.junit.jupiter.api.Test;
@@ -1,4 +1,4 @@
package dev.relism.template;
package dev.relism.flash.template;
import org.junit.jupiter.api.Test;
@@ -1,10 +1,10 @@
package dev.relism.template;
package dev.relism.flash.template;
import dev.relism.http.HttpMethod;
import dev.relism.models.HeaderMap;
import dev.relism.models.Request;
import dev.relism.models.RequestLine;
import dev.relism.routing.routers.fastpathrouter.FastPathViews;
import dev.relism.flash.http.HttpMethod;
import dev.relism.flash.models.HeaderMap;
import dev.relism.flash.models.Request;
import dev.relism.flash.models.RequestLine;
import dev.relism.flash.routing.routers.fastpathrouter.FastPathViews;
import org.junit.jupiter.api.Test;
import java.nio.charset.StandardCharsets;