// 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