216 lines
13 KiB
Go
216 lines
13 KiB
Go
// Package api provides primitives to interact with the openapi HTTP API.
|
|
//
|
|
// Code generated by github.com/deepmap/oapi-codegen version v1.9.0 DO NOT EDIT.
|
|
package api
|
|
|
|
import (
|
|
"bytes"
|
|
"compress/gzip"
|
|
"encoding/base64"
|
|
"fmt"
|
|
"net/url"
|
|
"path"
|
|
"strings"
|
|
|
|
"github.com/getkin/kin-openapi/openapi3"
|
|
)
|
|
|
|
// Base64 encoded, gzipped, json marshaled Swagger object
|
|
var swaggerSpec = []string{
|
|
|
|
"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",
|
|
}
|
|
|
|
// GetSwagger returns the content of the embedded swagger specification file
|
|
// or error if failed to decode
|
|
func decodeSpec() ([]byte, error) {
|
|
zipped, err := base64.StdEncoding.DecodeString(strings.Join(swaggerSpec, ""))
|
|
if err != nil {
|
|
return nil, fmt.Errorf("error base64 decoding spec: %s", err)
|
|
}
|
|
zr, err := gzip.NewReader(bytes.NewReader(zipped))
|
|
if err != nil {
|
|
return nil, fmt.Errorf("error decompressing spec: %s", err)
|
|
}
|
|
var buf bytes.Buffer
|
|
_, err = buf.ReadFrom(zr)
|
|
if err != nil {
|
|
return nil, fmt.Errorf("error decompressing spec: %s", err)
|
|
}
|
|
|
|
return buf.Bytes(), nil
|
|
}
|
|
|
|
var rawSpec = decodeSpecCached()
|
|
|
|
// a naive cached of a decoded swagger spec
|
|
func decodeSpecCached() func() ([]byte, error) {
|
|
data, err := decodeSpec()
|
|
return func() ([]byte, error) {
|
|
return data, err
|
|
}
|
|
}
|
|
|
|
// Constructs a synthetic filesystem for resolving external references when loading openapi specifications.
|
|
func PathToRawSpec(pathToFile string) map[string]func() ([]byte, error) {
|
|
var res = make(map[string]func() ([]byte, error))
|
|
if len(pathToFile) > 0 {
|
|
res[pathToFile] = rawSpec
|
|
}
|
|
|
|
return res
|
|
}
|
|
|
|
// GetSwagger returns the Swagger specification corresponding to the generated code
|
|
// in this file. The external references of Swagger specification are resolved.
|
|
// The logic of resolving external references is tightly connected to "import-mapping" feature.
|
|
// Externally referenced files must be embedded in the corresponding golang packages.
|
|
// Urls can be supported but this task was out of the scope.
|
|
func GetSwagger() (swagger *openapi3.T, err error) {
|
|
var resolvePath = PathToRawSpec("")
|
|
|
|
loader := openapi3.NewLoader()
|
|
loader.IsExternalRefsAllowed = true
|
|
loader.ReadFromURIFunc = func(loader *openapi3.Loader, url *url.URL) ([]byte, error) {
|
|
var pathToFile = url.String()
|
|
pathToFile = path.Clean(pathToFile)
|
|
getSpec, ok := resolvePath[pathToFile]
|
|
if !ok {
|
|
err1 := fmt.Errorf("path not found: %s", pathToFile)
|
|
return nil, err1
|
|
}
|
|
return getSpec()
|
|
}
|
|
var specData []byte
|
|
specData, err = rawSpec()
|
|
if err != nil {
|
|
return
|
|
}
|
|
swagger, err = loader.LoadFromData(specData)
|
|
if err != nil {
|
|
return
|
|
}
|
|
return
|
|
}
|