Flash

Introduction

What Flash is

Flash is a library, not a container. Your main stays yours.

Server.start(App.create().get("/ping", (req, res) -> "pong"),
        ServerConfig.builder().port(8080).build()).await();

An App holds routes, middleware and services. It has no port, so a test can run the same app on a port of its own. Server.start builds everything, then starts listening.

Requirements

Java 21 or later, Maven 3.8 or later. No agent, no annotation processor.

What the core does

Routing, request and response, WebSockets, TLS, static files, error pages, HTTP/2.

JSON, validation, OpenAPI, security, databases, caching, templates and rate limits are extensions. Each is a separate dependency you install into the app.

On this page