152 lines
7.3 KiB
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
|
|
}
|