flamenco/pkg/api/openapi_spec.gen.go
2022-05-31 17:19:06 +02:00

227 lines
14 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
}