Skip to content

Commit

Permalink
openapi3: refacto error messages
Browse files Browse the repository at this point in the history
Signed-off-by: Pierre Fenoll <pierrefenoll@gmail.com>
  • Loading branch information
fenollp committed Nov 26, 2023
1 parent b3e4272 commit 85be902
Showing 1 changed file with 23 additions and 10 deletions.
33 changes: 23 additions & 10 deletions openapi3/loader.go
Original file line number Diff line number Diff line change
Expand Up @@ -491,9 +491,22 @@ func (loader *Loader) resolveRef(doc *T, ref string, path *url.URL) (*T, string,
return doc, fragment, resolvedPath, nil
}

var (
errMUSTCallback = errors.New("invalid callback: value MUST be an object")
errMUSTExample = errors.New("invalid example: value MUST be an object")
errMUSTHeader = errors.New("invalid header: value MUST be an object")
errMUSTLink = errors.New("invalid link: value MUST be an object")
errMUSTParameter = errors.New("invalid parameter: value MUST be an object")
errMUSTPathItem = errors.New("invalid path item: value MUST be an object")
errMUSTRequestBody = errors.New("invalid requestBody: value MUST be an object")
errMUSTResponse = errors.New("invalid response: value MUST be an object")
errMUSTSchema = errors.New("invalid schema: value MUST be an object")
errMUSTSecurityScheme = errors.New("invalid securityScheme: value MUST be an object")
)

func (loader *Loader) resolveHeaderRef(doc *T, component *HeaderRef, documentPath *url.URL) (err error) {
if component.isEmpty() {
return errors.New("invalid header: value MUST be an object")
return errMUSTHeader
}

if component.Value != nil {
Expand Down Expand Up @@ -540,7 +553,7 @@ func (loader *Loader) resolveHeaderRef(doc *T, component *HeaderRef, documentPat

func (loader *Loader) resolveParameterRef(doc *T, component *ParameterRef, documentPath *url.URL) (err error) {
if component.isEmpty() {
return errors.New("invalid parameter: value MUST be an object")
return errMUSTParameter
}

if component.Value != nil {
Expand Down Expand Up @@ -597,7 +610,7 @@ func (loader *Loader) resolveParameterRef(doc *T, component *ParameterRef, docum

func (loader *Loader) resolveRequestBodyRef(doc *T, component *RequestBodyRef, documentPath *url.URL) (err error) {
if component.isEmpty() {
return errors.New("invalid requestBody: value MUST be an object")
return errMUSTRequestBody
}

if component.Value != nil {
Expand Down Expand Up @@ -661,7 +674,7 @@ func (loader *Loader) resolveRequestBodyRef(doc *T, component *RequestBodyRef, d

func (loader *Loader) resolveResponseRef(doc *T, component *ResponseRef, documentPath *url.URL) (err error) {
if component.isEmpty() {
return errors.New("invalid response: value MUST be an object")
return errMUSTResponse
}

if component.Value != nil {
Expand Down Expand Up @@ -736,7 +749,7 @@ func (loader *Loader) resolveResponseRef(doc *T, component *ResponseRef, documen

func (loader *Loader) resolveSchemaRef(doc *T, component *SchemaRef, documentPath *url.URL, visited []string) (err error) {
if component.isEmpty() {
return errors.New("invalid schema: value MUST be an object")
return errMUSTSchema
}

if component.Value != nil {
Expand Down Expand Up @@ -824,7 +837,7 @@ func (loader *Loader) resolveSchemaRef(doc *T, component *SchemaRef, documentPat

func (loader *Loader) resolveSecuritySchemeRef(doc *T, component *SecuritySchemeRef, documentPath *url.URL) (err error) {
if component.isEmpty() {
return errors.New("invalid securityScheme: value MUST be an object")
return errMUSTSecurityScheme
}

if component.Value != nil {
Expand Down Expand Up @@ -861,7 +874,7 @@ func (loader *Loader) resolveSecuritySchemeRef(doc *T, component *SecurityScheme

func (loader *Loader) resolveExampleRef(doc *T, component *ExampleRef, documentPath *url.URL) (err error) {
if component.isEmpty() {
return errors.New("invalid example: value MUST be an object")
return errMUSTExample
}

if component.Value != nil {
Expand Down Expand Up @@ -898,7 +911,7 @@ func (loader *Loader) resolveExampleRef(doc *T, component *ExampleRef, documentP

func (loader *Loader) resolveCallbackRef(doc *T, component *CallbackRef, documentPath *url.URL) (err error) {
if component.isEmpty() {
return errors.New("invalid callback: value MUST be an object")
return errMUSTCallback
}

if component.Value != nil {
Expand Down Expand Up @@ -945,7 +958,7 @@ func (loader *Loader) resolveCallbackRef(doc *T, component *CallbackRef, documen

func (loader *Loader) resolveLinkRef(doc *T, component *LinkRef, documentPath *url.URL) (err error) {
if component.isEmpty() {
return errors.New("invalid link: value MUST be an object")
return errMUSTLink
}

if component.Value != nil {
Expand Down Expand Up @@ -982,7 +995,7 @@ func (loader *Loader) resolveLinkRef(doc *T, component *LinkRef, documentPath *u

func (loader *Loader) resolvePathItemRef(doc *T, pathItem *PathItem, documentPath *url.URL) (err error) {
if pathItem == nil {
err = errors.New("invalid path item: value MUST be an object")
err = errMUSTPathItem
return
}

Expand Down

0 comments on commit 85be902

Please sign in to comment.