// 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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", "///7VfgJs6QAAA==", } // 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 }