flamenco/pkg/api/openapi_spec.gen.go

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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",
}
// 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
}