MCPcopy Create free account
hub / github.com/getkin/kin-openapi / resolveRefAndDocument

Method resolveRefAndDocument

openapi3/loader.go:609–624  ·  view source on GitHub ↗
(doc *T, ref string, path *url.URL)

Source from the content-addressed store, hash-verified

607}
608
609func (loader *Loader) resolveRefAndDocument(doc *T, ref string, path *url.URL) (*T, string, *url.URL, error) {
610 if ref != "" && ref[0] == '#' {
611 return doc, ref, path, nil
612 }
613
614 fragment, resolvedPath, err := loader.resolveRef(ref, path)
615 if err != nil {
616 return nil, "", nil, err
617 }
618
619 if doc, err = loader.loadFromURIInternal(resolvedPath); err != nil {
620 return nil, "", nil, fmt.Errorf("error resolving reference %q: %w", ref, err)
621 }
622
623 return doc, fragment, resolvedPath, nil
624}
625
626func (loader *Loader) resolveRef(ref string, path *url.URL) (string, *url.URL, error) {
627 resolvedPathRef, err := loader.resolveRefPath(ref, path)

Callers 1

resolveComponentMethod · 0.95

Calls 2

resolveRefMethod · 0.95
loadFromURIInternalMethod · 0.95

Tested by

no test coverage detected