Documentation
¶
Overview ¶
Package minato provides an opinionated, fast, and feature-rich HTTP server framework built on top of standard library net/http and chi.
Index ¶
- type Option
- func WithAddr(addr string) Option
- func WithCloser(name string, fn func() error) Option
- func WithHealthCheck() Option
- func WithIdleTimeout(d time.Duration) Option
- func WithMetrics() Option
- func WithReadHeaderTimeout(d time.Duration) Option
- func WithReadinessCheck(name string, fn func(ctx context.Context) error) Option
- func WithShutdownTimeout(d time.Duration) Option
- type Router
- func (r *Router) Delete(pattern string, h http.HandlerFunc)
- func (r *Router) Get(pattern string, h http.HandlerFunc)
- func (r *Router) Group(pattern string, fn func(r *Router))
- func (r *Router) Patch(pattern string, h http.HandlerFunc)
- func (r *Router) Post(pattern string, h http.HandlerFunc)
- func (r *Router) Put(pattern string, h http.HandlerFunc)
- func (r *Router) ServeHTTP(w http.ResponseWriter, req *http.Request)
- func (r *Router) Use(middlewares ...func(http.Handler) http.Handler)
- type Server
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Option ¶
type Option func(*config)
Option defines a functional configuration option for the Minato Server.
func WithCloser ¶
WithCloser registers a teardown function that will be called during graceful shutdown.
func WithHealthCheck ¶
func WithHealthCheck() Option
WithHealthCheck enables automatic registration of /healthz and /readyz endpoints.
func WithIdleTimeout ¶
WithIdleTimeout sets the maximum amount of time to wait for the next request when keep-alives are enabled. Defaults to 60 seconds.
func WithMetrics ¶
func WithMetrics() Option
WithMetrics enables automatic registration of the Prometheus /metrics endpoint.
func WithReadHeaderTimeout ¶
WithReadHeaderTimeout sets the amount of time allowed to read request headers. Defaults to 5 seconds.
func WithReadinessCheck ¶
WithReadinessCheck registers a named dependency check for the /readyz endpoint.
func WithShutdownTimeout ¶
WithShutdownTimeout sets the deadline for graceful shutdown. Defaults to 30 seconds.
type Router ¶
type Router struct {
// contains filtered or unexported fields
}
Router is a wrapper around chi.Mux to prevent exposing third-party router dependencies directly to library consumers.
func (*Router) Delete ¶
func (r *Router) Delete(pattern string, h http.HandlerFunc)
Delete adds the route `pattern` that matches a DELETE HTTP method to route handler `h`
func (*Router) Get ¶
func (r *Router) Get(pattern string, h http.HandlerFunc)
Get adds the route `pattern` that matches a GET HTTP method to route handler `h`
func (*Router) Patch ¶
func (r *Router) Patch(pattern string, h http.HandlerFunc)
Patch adds the route `pattern` that matches a PATCH HTTP method to route handler `h`
func (*Router) Post ¶
func (r *Router) Post(pattern string, h http.HandlerFunc)
Post adds the route `pattern` that matches a POST HTTP method to route handler `h`
func (*Router) Put ¶
func (r *Router) Put(pattern string, h http.HandlerFunc)
Put adds the route `pattern` that matches a PUT HTTP method to route handler `h`
type Server ¶
type Server struct {
// contains filtered or unexported fields
}
Server represents the Minato HTTP server instance, wrapping an internal http.Server and Router