// 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 }