Documentation
¶
Index ¶
- func DecodeRequest[T any](method string, r *http.Request) (T, error)
- func EncodeError(logger *slog.Logger, w http.ResponseWriter, msg string, status int)
- func EncodeResponse(logger *slog.Logger, r *http.Request, w http.ResponseWriter, ...)
- type APIError
- type EmptyResponse
- type ErrorEncoder
- type Middleware
- type ResponseEncoder
- type StatusCode
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DecodeRequest ¶
DecodeRequest decodes the JSON request body into T for PATCH/POST/PUT methods, and query parameters for all other method types.
func EncodeError ¶ added in v0.19.0
EncodeError is the default error encoder.
The response will be JSON in the form:
{ "error": "error message", "code": code }
func EncodeResponse ¶
func EncodeResponse(logger *slog.Logger, r *http.Request, w http.ResponseWriter, errorEncoder ErrorEncoder, data any, outErr error)
EncodeResponse encodes the response body into JSON and writes it to the response writer.
Types ¶
type APIError ¶
An APIError is an error that is also a http.Handler used to encode the error.
Any request handler returning an error
type EmptyResponse ¶
type EmptyResponse []byte
EmptyResponse is used for handlers that don't return any content.
It will write an empty response with a status code based on the HTTP method used:
- POST: StatusCreated
- PUT: StatusAccepted
- PATCH: StatusAccepted
- Other: StatusOK
func (EmptyResponse) ServeHTTP ¶
func (e EmptyResponse) ServeHTTP(w http.ResponseWriter, r *http.Request)
type ErrorEncoder ¶ added in v0.19.0
ErrorEncoder represents a function for handling errors from Zero's generated code.
A custom provider can override this.
type Middleware ¶ added in v0.1.0
Middleware is a convenience type for Zero middleware.
type ResponseEncoder ¶ added in v0.19.0
type ResponseEncoder func(logger *slog.Logger, r *http.Request, w http.ResponseWriter, errorEncoder ErrorEncoder, data any, outErr error)
ResponseEncoder represents a function for encoding the response body into JSON and writing it to the response writer.
A custom provider can override this.
type StatusCode ¶
type StatusCode interface {
StatusCode() int
}
StatusCode is an interface that can be implemented by response types to provide a custom status code.
Directories
¶
Path | Synopsis |
---|---|
cmd
|
|
zero
command
|
|
Package internal contains internal packages for Zero.
|
Package internal contains internal packages for Zero. |
cloudevent
Package cloudevent models CloudEvents.
|
Package cloudevent models CloudEvents. |
codewriter
Package codewriter is a simple helper for writing out source code.
|
Package codewriter is a simple helper for writing out source code. |
depgraph
Package depgraph builds a Zero's dependeny injection type graph.
|
Package depgraph builds a Zero's dependeny injection type graph. |
directiveparser
Package directiveparser implements a parser for the Zero's compiler directives.
|
Package directiveparser implements a parser for the Zero's compiler directives. |
generator
Package generator generates the Zero's bootstrap code.
|
Package generator generates the Zero's bootstrap code. |
strcase
Package strcase provides functions for splitting camel case strings.
|
Package strcase provides functions for splitting camel case strings. |
Package providers and its sub-packages contains a set of builtin providers for Zero.
|
Package providers and its sub-packages contains a set of builtin providers for Zero. |
cron
Package cron provides support for Zero cron jobs.
|
Package cron provides support for Zero cron jobs. |
http
Package http provides HTTP-related providers for Zero.
|
Package http provides HTTP-related providers for Zero. |
leases
Package leases provides an API for acquiring and releasing leases.
|
Package leases provides an API for acquiring and releasing leases. |
leases/migrations
Package migrations contains SQL migrations for the leases provider.
|
Package migrations contains SQL migrations for the leases provider. |
logging
Package logging contains providers for common loggers.
|
Package logging contains providers for common loggers. |
pubsub
Package pubsub contains implementations for eventing providers.
|
Package pubsub contains implementations for eventing providers. |
pubsub/pubsubtest
Package pubsubtest contains helper functions for testing pubsub.
|
Package pubsubtest contains helper functions for testing pubsub. |
sql
Package sql contains types and providers for connecting to and migrating SQL databases.
|
Package sql contains types and providers for connecting to and migrating SQL databases. |
sql/sqltest
Package sqltest provides utilities for testing SQL databases.
|
Package sqltest provides utilities for testing SQL databases. |