HTTP without the framework tax
A lightweight server built directly on jdk.httpserver, virtual threads, and structured concurrency. Routes are code. Dependency injection is explicit.
Virtual threads
One virtual thread per request. No thread pools to tune, no reactive model to learn.
JPMS-native
Every module declares explicit requires and exports. You know exactly what depends on what.
Routes are code
Wire routes with RouterBuilder. Everything is explicit — just a configure() method.
Pick what you need
19 modules across core, middleware, protocol, and template layers. Add only what your application uses.
$
build.serve:serve-foundation:0.1.1