214 lines
12 KiB
Go
214 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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",
|
|
"b/pYG506TTS+36/L15f/HQAA//8MDWjsKoQAAA==",
|
|
}
|
|
|
|
// 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
|
|
}
|