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