errors

package
v0.0.0-...-d88c8b5 Latest Latest
Warning

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

Go to latest
Published: Feb 9, 2021 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

Package errors provides an Error interface and several concrete types implementing this interface to manage API errors and JSON-schema validation errors.

A middleware handler ServeError() is provided to serve the errors types it defines.

It is used throughout the various go-openapi toolkit libraries (https://github.com/go-openapi).

Index

Constants

View Source
const (
	// CompositeErrorCode remains 422 for backwards-compatibility
	// and to separate it from validation errors with cause
	CompositeErrorCode = 422
	// InvalidTypeCode is used for any subclass of invalid types
	InvalidTypeCode = 600 + iota
	RequiredFailCode
	TooLongFailCode
	TooShortFailCode
	PatternFailCode
	EnumFailCode
	MultipleOfFailCode
	MaxFailCode
	MinFailCode
	UniqueFailCode
	MaxItemsFailCode
	MinItemsFailCode
	NoAdditionalItemsCode
	TooFewPropertiesCode
	TooManyPropertiesCode
	UnallowedPropertyCode
	FailedAllPatternPropsCode
	MultipleOfMustBePositiveCode
)

All code responses can be used to differentiate errors for different handling by the consuming program

Variables

View Source
var DefaultHTTPCode = http.StatusUnprocessableEntity

DefaultHTTPCode is used when the error Code cannot be used as an HTTP code.

Functions

func ServeError

func ServeError(rw http.ResponseWriter, r *http.Request, err error)

ServeError the error handler interface implementation

Types

type APIVerificationFailed

type APIVerificationFailed struct {
	Section              string
	MissingSpecification []string
	MissingRegistration  []string
}

APIVerificationFailed is an error that contains all the missing info for a mismatched section between the api registrations and the api spec

func (*APIVerificationFailed) Error

func (v *APIVerificationFailed) Error() string

type CompositeError

type CompositeError struct {
	Errors []error
	// contains filtered or unexported fields
}

CompositeError is an error that groups several errors together

func CompositeValidationError

func CompositeValidationError(errors ...error) *CompositeError

CompositeValidationError an error to wrap a bunch of other errors

func (*CompositeError) Code

func (c *CompositeError) Code() int32

Code for this error

func (*CompositeError) Error

func (c *CompositeError) Error() string

type Error

type Error interface {
	error
	Code() int32
}

Error represents a error interface all swagger framework errors implement

func MethodNotAllowed

func MethodNotAllowed(requested string, allow []string) Error

MethodNotAllowed creates a new method not allowed error

func New

func New(code int32, message string, args ...interface{}) Error

New creates a new API error with a code and a message

func NotFound

func NotFound(message string, args ...interface{}) Error

NotFound creates a new not found error

func NotImplemented

func NotImplemented(message string) Error

NotImplemented creates a new not implemented error

func Unauthenticated

func Unauthenticated(scheme string) Error

Unauthenticated returns an unauthenticated error

type MethodNotAllowedError

type MethodNotAllowedError struct {
	Allowed []string
	// contains filtered or unexported fields
}

MethodNotAllowedError represents an error for when the path matches but the method doesn't

func (*MethodNotAllowedError) Code

func (m *MethodNotAllowedError) Code() int32

Code the error code

func (*MethodNotAllowedError) Error

func (m *MethodNotAllowedError) Error() string

type ParseError

type ParseError struct {
	Name   string
	In     string
	Value  string
	Reason error
	// contains filtered or unexported fields
}

ParseError respresents a parsing error

func NewParseError

func NewParseError(name, in, value string, reason error) *ParseError

NewParseError creates a new parse error

func (*ParseError) Code

func (e *ParseError) Code() int32

Code returns the http status code for this error

func (*ParseError) Error

func (e *ParseError) Error() string

type Validation

type Validation struct {
	Name  string
	In    string
	Value interface{}

	Values []interface{}
	// contains filtered or unexported fields
}

Validation represents a failure of a precondition

func AdditionalItemsNotAllowed

func AdditionalItemsNotAllowed(name, in string) *Validation

AdditionalItemsNotAllowed an error for invalid additional items

func DuplicateItems

func DuplicateItems(name, in string) *Validation

DuplicateItems error for when an array contains duplicates

func EnumFail

func EnumFail(name, in string, value interface{}, values []interface{}) *Validation

EnumFail error for when an enum validation fails

func ExceedsMaximum

func ExceedsMaximum(name, in string, max float64, exclusive bool) *Validation

ExceedsMaximum error for when maxinum validation fails

func ExceedsMaximumInt

func ExceedsMaximumInt(name, in string, max int64, exclusive bool) *Validation

ExceedsMaximumInt error for when maxinum validation fails

func ExceedsMaximumUint

func ExceedsMaximumUint(name, in string, max uint64, exclusive bool) *Validation

ExceedsMaximumUint error for when maxinum validation fails

func ExceedsMinimum

func ExceedsMinimum(name, in string, min float64, exclusive bool) *Validation

ExceedsMinimum error for when maxinum validation fails

func ExceedsMinimumInt

func ExceedsMinimumInt(name, in string, min int64, exclusive bool) *Validation

ExceedsMinimumInt error for when maxinum validation fails

func ExceedsMinimumUint

func ExceedsMinimumUint(name, in string, min uint64, exclusive bool) *Validation

ExceedsMinimumUint error for when maxinum validation fails

func FailedAllPatternProperties

func FailedAllPatternProperties(name, in, key string) *Validation

FailedAllPatternProperties an error for when the property doesn't match a pattern

func FailedPattern

func FailedPattern(name, in, pattern string) *Validation

FailedPattern error for when a string fails a regex pattern match the pattern that is returned is the ECMA syntax version of the pattern not the golang version.

func InvalidCollectionFormat

func InvalidCollectionFormat(name, in, format string) *Validation

InvalidCollectionFormat another flavor of invalid type error

func InvalidContentType

func InvalidContentType(value string, allowed []string) *Validation

InvalidContentType error for an invalid content type

func InvalidResponseFormat

func InvalidResponseFormat(value string, allowed []string) *Validation

InvalidResponseFormat error for an unacceptable response format request

func InvalidType

func InvalidType(name, in, typeName string, value interface{}) *Validation

InvalidType creates an error for when the type is invalid

func InvalidTypeName

func InvalidTypeName(typeName string) *Validation

InvalidTypeName an error for when the type is invalid

func MultipleOfMustBePositive

func MultipleOfMustBePositive(name, in string, factor interface{}) *Validation

MultipleOfMustBePositive error for when a multipleOf factor is negative

func NotMultipleOf

func NotMultipleOf(name, in string, multiple interface{}) *Validation

NotMultipleOf error for when multiple of validation fails

func PropertyNotAllowed

func PropertyNotAllowed(name, in, key string) *Validation

PropertyNotAllowed an error for when the property doesn't match a pattern

func Required

func Required(name, in string) *Validation

Required error for when a value is missing

func TooFewItems

func TooFewItems(name, in string, min int64) *Validation

TooFewItems error for when an array contains too few items

func TooFewProperties

func TooFewProperties(name, in string, n int64) *Validation

TooFewProperties an error for an object with too few properties

func TooLong

func TooLong(name, in string, max int64) *Validation

TooLong error for when a string is too long

func TooManyItems

func TooManyItems(name, in string, max int64) *Validation

TooManyItems error for when an array contains too many items

func TooManyProperties

func TooManyProperties(name, in string, n int64) *Validation

TooManyProperties an error for an object with too many properties

func TooShort

func TooShort(name, in string, min int64) *Validation

TooShort error for when a string is too short

func (*Validation) Code

func (e *Validation) Code() int32

Code the error code

func (*Validation) Error

func (e *Validation) Error() string

func (*Validation) ValidateName

func (e *Validation) ValidateName(name string) *Validation

ValidateName produces an error message name for an aliased property

Jump to

Keyboard shortcuts

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