// 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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", "0o91qwAA", } // 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 }