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