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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",
|
|
"dZpofL9fl68v/zsAAP//eNoomAKEAAA=",
|
|
}
|
|
|
|
// 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
|
|
}
|