215 lines
12 KiB
Go
215 lines
12 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
|
|
}
|