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
- type CompositeError
- type Error
- type Validation
- func AdditionalItemsNotAllowed(name, in string) *Validation
- func DuplicateItems(name, in string) *Validation
- func EnumFail(name, in string, value interface{}, values []interface{}) *Validation
- func ExceedsMaximum(name, in string, max float64, exclusive bool, value interface{}) *Validation
- func ExceedsMaximumInt(name, in string, max int64, exclusive bool, value interface{}) *Validation
- func ExceedsMaximumUint(name, in string, max uint64, exclusive bool, value interface{}) *Validation
- func ExceedsMinimum(name, in string, min float64, exclusive bool, value interface{}) *Validation
- func ExceedsMinimumInt(name, in string, min int64, exclusive bool, value interface{}) *Validation
- func ExceedsMinimumUint(name, in string, min uint64, exclusive bool, value interface{}) *Validation
- func FailedAllPatternProperties(name, in, key string) *Validation
- func FailedPattern(name, in, pattern string, value interface{}) *Validation
- func InvalidCollectionFormat(name, in, format string) *Validation
- func InvalidType(name, in, typeName string, value interface{}) *Validation
- func InvalidTypeName(typeName string) *Validation
- func MultipleOfMustBePositive(name, in string, factor interface{}) *Validation
- func NotMultipleOf(name, in string, multiple, value interface{}) *Validation
- func PropertyNotAllowed(name, in, key string) *Validation
- func Required(name, in string) *Validation
- func TooFewItems(name, in string, min int64, value interface{}) *Validation
- func TooFewProperties(name, in string, minProperties, size int64) *Validation
- func TooLong(name, in string, max int64, value interface{}) *Validation
- func TooManyItems(name, in string, max int64, value interface{}) *Validation
- func TooManyProperties(name, in string, maxProperties, size int64) *Validation
- func TooShort(name, in string, min int64, value interface{}) *Validation
Constants ¶
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 ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
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) Error ¶
func (c *CompositeError) Error() string
type Validation ¶
type Validation struct { Name string In string Value interface{} Valid 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, value interface{}) *Validation
ExceedsMaximum error for when maxinum validation fails
func ExceedsMaximumInt ¶
func ExceedsMaximumInt(name, in string, max int64, exclusive bool, value interface{}) *Validation
ExceedsMaximumInt error for when maxinum validation fails
func ExceedsMaximumUint ¶
func ExceedsMaximumUint(name, in string, max uint64, exclusive bool, value interface{}) *Validation
ExceedsMaximumUint error for when maxinum validation fails
func ExceedsMinimum ¶
func ExceedsMinimum(name, in string, min float64, exclusive bool, value interface{}) *Validation
ExceedsMinimum error for when maxinum validation fails
func ExceedsMinimumInt ¶
func ExceedsMinimumInt(name, in string, min int64, exclusive bool, value interface{}) *Validation
ExceedsMinimumInt error for when maxinum validation fails
func ExceedsMinimumUint ¶
func ExceedsMinimumUint(name, in string, min uint64, exclusive bool, value interface{}) *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, value interface{}) *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 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, value 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, value interface{}) *Validation
TooFewItems error for when an array contains too few items
func TooFewProperties ¶
func TooFewProperties(name, in string, minProperties, size int64) *Validation
TooFewProperties an error for an object with too few properties
func TooLong ¶
func TooLong(name, in string, max int64, value interface{}) *Validation
TooLong error for when a string is too long
func TooManyItems ¶
func TooManyItems(name, in string, max int64, value interface{}) *Validation
TooManyItems error for when an array contains too many items
func TooManyProperties ¶
func TooManyProperties(name, in string, maxProperties, size int64) *Validation
TooManyProperties an error for an object with too many properties
func TooShort ¶
func TooShort(name, in string, min int64, value interface{}) *Validation
TooShort error for when a string is too short
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