184 lines
9.9 KiB
Go
184 lines
9.9 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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",
|
|
"WQAA",
|
|
}
|
|
|
|
// 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
|
|
}
|