Files

20 lines
755 B
Go
Raw Permalink Normal View History

// Package httpserver provides a lifecycle-managed HTTP server built on chi.
//
// It implements [launcher.Component] so it integrates directly with the launcher
// lifecycle (OnInit → OnStart → OnStop). It also embeds [chi.Router], giving callers
// the full chi routing API: Get, Post, Route, Mount, Use, etc.
//
// No middleware is installed by default. Compose your stack with [WithMiddleware]:
//
// srv := httpserver.New(logger, cfg,
// httpserver.WithMiddleware(
// httpmw.Recover(),
// httpmw.CORS([]string{"*"}),
// httpmw.RequestID(uuid.NewString),
// httpmw.RequestLogger(logger),
// ),
// )
// srv.Get("/health", healthHandler)
// srv.Route("/api/v1", func(r chi.Router) { ... })
package httpserver