Documentation
¶
Index ¶
- func DefaultResponderHandler(writer http.ResponseWriter, request *http.Request, builder Builder)
- func HandlerFunc(handler func(*http.Request) error) http.HandlerFunc
- func JSON[T any](reader io.Reader) (T, error)
- func Record(handler Handler, request *http.Request) *httptest.ResponseRecorder
- func RecordHandler(handler http.Handler, request *http.Request) *httptest.ResponseRecorder
- func RecordServer(server *http.Server, request *http.Request) *httptest.ResponseRecorder
- type Builder
- func (builder Builder) AppendHeader(key, value string) Builder
- func (builder Builder) Body(body []byte) Builder
- func (builder Builder) BodyReader(body io.Reader) Builder
- func (builder Builder) BodyWriter(writer func(writer http.ResponseWriter)) Builder
- func (builder Builder) Cookie(cookie http.Cookie) Builder
- func (builder Builder) Error() string
- func (builder Builder) Failed(err error) Builder
- func (builder Builder) HTML(html string) Builder
- func (builder Builder) Handle(response http.ResponseWriter, request *http.Request)
- func (builder Builder) Handler(handler BuilderHandler) Builder
- func (builder Builder) Header(key, value string) Builder
- func (builder Builder) Headers(headers http.Header) Builder
- func (builder Builder) JSON(body any) Builder
- func (builder Builder) Merge(other Builder) Builder
- func (builder Builder) Respond(request *http.Request) Builder
- func (builder Builder) SSE(stream <-chan []byte) Builder
- func (builder Builder) Status(status int) Builder
- func (builder Builder) Stream(stream <-chan []byte) Builder
- func (builder Builder) Text(body string) Builder
- func (builder Builder) WithoutError() Builder
- type BuilderHandler
- type ContextKey
- type Contextual
- type Handler
- type OnErrorCallback
- type OnErrorNext
- type Problem
- func (problem Problem) Error() string
- func (problem Problem) MarshalJSON() ([]byte, error)
- func (problem Problem) Respond(request *http.Request) Builder
- func (problem *Problem) UnmarshalJSON(data []byte) error
- func (problem Problem) With(key string, value any) Problem
- func (problem Problem) Without(key string) Problem
- type Responder
- type ServerError
- type ServerErrorKind
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DefaultResponderHandler ¶
func DefaultResponderHandler(writer http.ResponseWriter, request *http.Request, builder Builder)
func HandlerFunc ¶ added in v0.2.1
func HandlerFunc(handler func(*http.Request) error) http.HandlerFunc
func RecordHandler ¶
func RecordServer ¶
Types ¶
type Builder ¶ added in v0.2.0
type Builder struct {
// contains filtered or unexported fields
}
func (Builder) AppendHeader ¶ added in v0.2.0
func (Builder) BodyReader ¶ added in v0.2.0
func (Builder) BodyWriter ¶ added in v0.6.0
func (builder Builder) BodyWriter(writer func(writer http.ResponseWriter)) Builder
func (Builder) Handle ¶ added in v0.2.0
func (builder Builder) Handle(response http.ResponseWriter, request *http.Request)
func (Builder) Handler ¶ added in v0.2.0
func (builder Builder) Handler(handler BuilderHandler) Builder
func (Builder) WithoutError ¶ added in v0.3.0
type BuilderHandler ¶ added in v0.2.0
type BuilderHandler func(http.ResponseWriter, *http.Request, Builder)
type ContextKey ¶ added in v0.8.0
type ContextKey struct{}
type Contextual ¶ added in v0.8.0
type Contextual struct {
// contains filtered or unexported fields
}
Contextual is a concurrent-safe implementation to append akumu-specific context to the given request.
func NewContext ¶ added in v0.8.0
func NewContext() *Contextual
func (*Contextual) OnError ¶ added in v0.8.0
func (ctx *Contextual) OnError(callback OnErrorCallback)
type Handler ¶
func (Handler) HandlerFunc ¶ added in v0.2.2
func (handler Handler) HandlerFunc() http.HandlerFunc
type OnErrorCallback ¶ added in v0.8.0
type OnErrorCallback func(ServerError, OnErrorNext)
type OnErrorNext ¶ added in v0.8.0
type OnErrorNext func(ServerError)
type Problem ¶
type Problem struct { Type string Title string Detail string Status int Instance string // contains filtered or unexported fields }
Problem represents a problem details for HTTP APIs. See https://tools.ietf.org/html/rfc7807 for more information.
func NewProblemFromError ¶ added in v0.4.0
func (Problem) MarshalJSON ¶ added in v0.4.0
func (*Problem) UnmarshalJSON ¶ added in v0.4.0
type ServerError ¶ added in v0.8.0
type ServerError struct { Code int URL string Text string Kind ServerErrorKind Body string }
func (ServerError) Error ¶ added in v0.8.0
func (err ServerError) Error() string
type ServerErrorKind ¶ added in v0.8.0
type ServerErrorKind string
var ( ServerErrorWriter ServerErrorKind = "writer" ServerErrorBody ServerErrorKind = "body" ServerErrorStream ServerErrorKind = "stream" ServerErrorDefault ServerErrorKind = "default" )
Source Files
¶
Click to show internal directories.
Click to hide internal directories.