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