coreapi

package
v0.0.0-...-60c8855 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 21, 2023 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrAuthentication = errors.New("Authentication Error")

ErrAuthentication returned when Authentication has failed.

Functions

func GetLogger

func GetLogger(r *http.Request) log.Logger

Get the Logger stored in request context, or nil.

func GetMetrics

func GetMetrics(r *http.Request) metrics.MetricsRecorder

Get the MetricsRecorder stored in request context, or nil.

func GetMonitor

func GetMonitor(r *http.Request) monitoring.Monitor

Get the Monitor stored in request context, or nil.

func GetRequestID

func GetRequestID(r *http.Request) string

Get the RequestID stored in request context, or empty.

func LogRequest

func LogRequest(next http.Handler) http.Handler

LogRequest logs the start and end of a request

func Recoverer

func Recoverer(next http.Handler) http.Handler

Recoverer recovers from panic and prints a log line to the request's logger, if available.

func WithBasicAuth

func WithBasicAuth(authorisedUser, authorisedPassword string) func(next http.Handler) http.Handler

func WithLogger

func WithLogger(base log.Logger) func(next http.Handler) http.Handler

WithLogger adds a "logger" key to the request context. it will use a requestID as a standard field, if available

func WithMetrics

func WithMetrics(metrics metrics.MetricsRecorder) func(next http.Handler) http.Handler

WithMetrics adds a "metrics" key to the request context.

func WithMonitor

func WithMonitor(monitor monitoring.Monitor) func(next http.Handler) http.Handler

WithMonitor adds a "monitor" key to the request context.

func WithRequestID

func WithRequestID(next http.Handler) http.Handler

WithRequestID adds a "requestID" key to the request context.

func WithStatusWrappingResponseWriter

func WithStatusWrappingResponseWriter(next http.Handler) http.Handler

WithStatusWrappingResponseWriter wraps the default response writer to allow tracking of previously written status.

Types

type MiddlewareMux

type MiddlewareMux struct {
	// contains filtered or unexported fields
}

MiddlewareMux wraps the default router with a couple of methods to allow easier middleware usage.

func NewMiddlewareMux

func NewMiddlewareMux() *MiddlewareMux

func NewMiddlewareMuxWithDefaults

func NewMiddlewareMuxWithDefaults(logger log.Logger, recorder metrics.MetricsRecorder, monitor monitoring.Monitor) *MiddlewareMux

NewMiddlewareMuxWithDefaults sets up a basic middleware mux with default middleware of logger, metrics, monitoring, request id and status wrapping

func (*MiddlewareMux) Handle

func (mm *MiddlewareMux) Handle(pattern string, handler http.Handler)

Handle a route

func (*MiddlewareMux) ServeHTTP

func (mm *MiddlewareMux) ServeHTTP(w http.ResponseWriter, r *http.Request)

func (*MiddlewareMux) Use

func (mm *MiddlewareMux) Use(middleware func(http.Handler) http.Handler)

Use a piece of middleware

type Response

type Response struct {
	Status int
	Body   []byte
	Header http.Header
	Error  error
}

A Response contains information to be written

func EmptyResponse

func EmptyResponse(status int) *Response

EmptyResponse returns a Response object without a body

func JSONErrorResponse

func JSONErrorResponse(status int, err error) *Response

JSONErrorResponse returns a Response object formatted to display given error as JSON

func JSONResponse

func JSONResponse(status int, body interface{}) *Response

JSONResponse builds a Response with the body formatted as JSON

func (*Response) WriteTo

func (r *Response) WriteTo(out http.ResponseWriter)

WriteTo writes the Response to a http.ResponseWriter

type StatusWrappingResponseWriter

type StatusWrappingResponseWriter struct {
	http.ResponseWriter
	Status int
}

StatusWrappingResponseWriter wraps a http.ResponseWriter, overriding WriteHeader to keep a record of the Status set.

func (*StatusWrappingResponseWriter) WriteHeader

func (rw *StatusWrappingResponseWriter) WriteHeader(status int)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL