flamenco/pkg/api/openapi_spec.gen.go
2022-03-10 15:45:46 +01:00

152 lines
7.3 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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",
"mSkGrHfIe91enl7+MwAA//9VEH3t7TYAAA==",
}
// 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
}