flamenco/pkg/api/openapi_spec.gen.go
2022-06-09 11:59:32 +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
}