Documentation ¶
Index ¶
- Constants
- Variables
- func AddTraceIDToContext(ctx context.Context, id uuid.UUID, wasProvided bool) context.Context
- func CheckContextTimeout(ctx context.Context, message string, cause error) error
- func CoreRequestContextMiddleware(logger *logrus.Logger) func(next http.Handler) http.Handler
- func CoreRequestContextMiddlewareWithContext(ctx context.Context) func(next http.Handler) http.Handler
- func CreateDownstreamError(ctx context.Context, kind Kind, response *http.Response, body []byte, ...) error
- func CreateError(ctx context.Context, kind Kind, message string, cause error) error
- func FindConfigFilename(cfgDir, prefix string) string
- func GetLogEntryFromContext(ctx context.Context) *logrus.Entrydeprecated
- func GetLoggerFromContext(ctx context.Context) *logrus.Loggerdeprecated
- func GetTraceIDFromContext(ctx context.Context) uuid.UUID
- func HandleError(ctx context.Context, w http.ResponseWriter, kind Kind, message string, ...)
- func LoadAndValidateFromYAMLFileName(filename string, out validator.Validator) error
- func LoggerToContext(ctx context.Context, logger *logrus.Logger, entry *logrus.Entry) context.Context
- func NewBool(b bool) *bool
- func NewLoggingRoundTripper(name string, base http.RoundTripper) http.RoundTripper
- func NewString(s string) *string
- func NewTestCoreRequestContext() (*logrus.Logger, *test.Hook, context.Context)
- func NewTestCoreRequestContextWithLogger(logger *logrus.Logger) context.Context
- func ProvisionRestResult(ctx context.Context) context.Context
- func RequestHeaderFromContext(ctx context.Context) http.Header
- func RequestHeaderToContext(ctx context.Context, header http.Header) context.Context
- func RespHeaderAndStatusFromContext(ctx context.Context) (header http.Header, status int)
- func RespHeaderAndStatusToContext(ctx context.Context, header http.Header, status int) context.Context
- func Timeout(ctx context.Context, timeout time.Duration, timeoutHandler http.Handler) func(next http.Handler) http.Handler
- func TimeoutHandler(ctx context.Context, h http.Handler, dt time.Duration, timeout http.Handler) http.Handler
- func TraceabilityMiddleware(ctx context.Context) func(next http.Handler) http.Handler
- func TryGetTraceIDFromContext(ctx context.Context) (uuid.UUID, bool)
- func UpdateResponseStatus(ctx context.Context, status int) error
- func WrappedError(err error, fields ...KV) error
- type Callback
- func (g Callback) AddMiddleware(ctx context.Context, r chi.Router)
- func (g Callback) BasePath() string
- func (g Callback) Config() interface{}
- func (g Callback) DownstreamTimeoutContext(ctx context.Context) (context.Context, context.CancelFunc)
- func (g Callback) HandleError(ctx context.Context, w http.ResponseWriter, kind Kind, message string, ...)
- func (g Callback) MapError(ctx context.Context, err error) *HTTPError
- type Config
- type CustomError
- type DownstreamError
- type ErrorKinder
- type HTTPError
- type KV
- type Kind
- type MockRoundTripper
- type RestResult
- type RestResultContextKey
- type SensitiveString
- func (s *SensitiveString) MarshalJSON() ([]byte, error)
- func (s SensitiveString) MarshalYAML() (interface{}, error)
- func (s SensitiveString) String() string
- func (s *SensitiveString) UnmarshalJSON(data []byte) error
- func (s *SensitiveString) UnmarshalYAML(unmarshal func(interface{}) error) error
- func (s *SensitiveString) Value() string
- type ServerError
Constants ¶
const DefaultReplacementText = "****************"
Variables ¶
var ErrHandlerTimeout = errors.New("http: Handler timeout")
ErrHandlerTimeout is returned on ResponseWriter Write calls in handlers which have timed out.
Functions ¶
func AddTraceIDToContext ¶
func CheckContextTimeout ¶
func CoreRequestContextMiddlewareWithContext ¶ added in v0.38.0
func CreateDownstreamError ¶
func CreateError ¶
func FindConfigFilename ¶
func GetLogEntryFromContext
deprecated
func GetLoggerFromContext
deprecated
func HandleError ¶
func LoggerToContext ¶
func LoggerToContext(ctx context.Context, logger *logrus.Logger, entry *logrus.Entry) context.Context
LoggerToContext creates a new context containing the logger. Deprecated: Use ServerParams.WithPkgLogger instead.
func NewLoggingRoundTripper ¶
func NewLoggingRoundTripper(name string, base http.RoundTripper) http.RoundTripper
func ProvisionRestResult ¶ added in v0.69.0
ProvisionRestResult provisions within the context the ability to retrieve the result of a rest request.
func RequestHeaderFromContext ¶
RequestHeaderFromContext retrieves the request header from the context.
func RequestHeaderToContext ¶
RequestHeaderToContext creates a new context containing the request header.
func RespHeaderAndStatusFromContext ¶
RespHeaderAndStatusFromContext retrieves response header and status from the context.
func RespHeaderAndStatusToContext ¶
func RespHeaderAndStatusToContext(ctx context.Context, header http.Header, status int) context.Context
RespHeaderAndStatusToContext creates a new context containing the response header and status.
func Timeout ¶
func Timeout(ctx context.Context, timeout time.Duration, timeoutHandler http.Handler) func(next http.Handler) http.Handler
Timeout is a middleware that cancels ctx after a given timeout or call a special handler on timeout.
func TimeoutHandler ¶
func TimeoutHandler(ctx context.Context, h http.Handler, dt time.Duration, timeout http.Handler) http.Handler
TimeoutHandler returns a Handler that runs h with the given time limit.
The new Handler calls h.ServeHTTP to handle each request, but if a call runs for longer than its time limit, the handler calls the error handler which can then return a HTTP result however is deems correct. After such a timeout, writes by h to its ResponseWriter will return ErrHandlerTimeout.
TimeoutHandler buffers all Handler writes to memory and does not support the Hijacker or Flusher interfaces.
func TraceabilityMiddleware ¶
Injects a traceId UUID into the request context.
func WrappedError ¶ added in v0.31.0
Types ¶
type Callback ¶
type Callback struct { UpstreamTimeout time.Duration DownstreamTimeout time.Duration RouterBasePath string UpstreamConfig validator.Validator MapErrorFunc func(ctx context.Context, err error) *HTTPError }
func DefaultCallback ¶
func DefaultCallback() Callback
func (Callback) DownstreamTimeoutContext ¶
func (Callback) HandleError ¶
type CustomError ¶ added in v0.5.0
func (CustomError) Error ¶ added in v0.5.0
func (e CustomError) Error() string
type DownstreamError ¶
func (*DownstreamError) Error ¶
func (e *DownstreamError) Error() string
func (*DownstreamError) ErrorKind ¶
func (e *DownstreamError) ErrorKind() Kind
func (*DownstreamError) Unwrap ¶
func (e *DownstreamError) Unwrap() error
type ErrorKinder ¶
type ErrorKinder interface {
ErrorKind() Kind
}
type HTTPError ¶
type HTTPError struct { HTTPCode int `json:"-"` Code string `json:"code,omitempty"` Description string `json:"description,omitempty"` // contains filtered or unexported fields }
func (*HTTPError) WriteError ¶
func (httpError *HTTPError) WriteError(ctx context.Context, w http.ResponseWriter)
type MockRoundTripper ¶
type RestResult ¶ added in v0.69.0
func GetRestResult ¶ added in v0.69.0
func GetRestResult(ctx context.Context) *RestResult
GetRestResult gets the result of the most recent rest request. The context must be provisioned prior to the request taking place with a call to ProvisionRestResult.
type RestResultContextKey ¶ added in v0.69.0
type RestResultContextKey struct{}
type SensitiveString ¶
type SensitiveString struct {
// contains filtered or unexported fields
}
func NewSensitiveString ¶
func NewSensitiveString(from string) SensitiveString
func (*SensitiveString) MarshalJSON ¶
func (s *SensitiveString) MarshalJSON() ([]byte, error)
func (SensitiveString) MarshalYAML ¶
func (s SensitiveString) MarshalYAML() (interface{}, error)
Note, this one needs to be an object receiver NOT a pointer receiver.
func (SensitiveString) String ¶
func (s SensitiveString) String() string
func (*SensitiveString) UnmarshalJSON ¶
func (s *SensitiveString) UnmarshalJSON(data []byte) error
func (*SensitiveString) UnmarshalYAML ¶
func (s *SensitiveString) UnmarshalYAML(unmarshal func(interface{}) error) error
func (*SensitiveString) Value ¶
func (s *SensitiveString) Value() string
type ServerError ¶
func (*ServerError) Error ¶
func (e *ServerError) Error() string
func (*ServerError) ErrorKind ¶
func (e *ServerError) ErrorKind() Kind
func (*ServerError) Unwrap ¶
func (e *ServerError) Unwrap() error