Documentation ¶
Index ¶
- func Decode(r *http.Request, val any) error
- func GetTraceID(ctx context.Context) string
- func Param(r *http.Request, key string) string
- func Respond(ctx context.Context, w http.ResponseWriter, data any, statusCode int) error
- func SetStatusCode(ctx context.Context, statusCode int)
- type App
- type Handler
- type Middleware
- type Values
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Decode ¶
Decode reads the body of an HTTP request looking for a JSON document. The body is decoded into the provided value. If the provided value is a struct then it is checked for validation tags. If the value implements a validate function, it is executed.
func GetTraceID ¶
GetTraceID returns the trace id from the context.
func SetStatusCode ¶
SetStatusCode sets the status code back into the context.
Types ¶
type App ¶
type App struct {
// contains filtered or unexported fields
}
App is the entrypoint into the application and what configures our context object for each of our http handlers. Feel free to add any configuration data/logic on this App struct.
func NewApp ¶
func NewApp(shutdown chan os.Signal, middlewares ...Middleware) *App
NewApp creates an App instance using the chi router.
func (*App) Handle ¶
func (a *App) Handle(method string, group string, path string, handler Handler, middlewares ...Middleware)
Handle sets a handler function for a given HTTP method and path pair to the application server mux.
func (*App) ServeHTTP ¶
func (a *App) ServeHTTP(w http.ResponseWriter, r *http.Request)
ServeHTTP method implements the http.Handler interface for App. It's the entry point for all http traffic.
func (*App) SignalShutdown ¶
func (a *App) SignalShutdown()
SignalShutdown is used to gracefully shut down the app when an integrity issue is identified.
type Middleware ¶
Middleware is a type definition that expects and returns a Handler. It allows you to define middleware functions that can intercept HTTP requests, perform actions before or after passing control to another handler, modify the request or response, or short-circuit the request by not calling the next handler.