// 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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", "6sPV/w8AAP//NBc+Sd6rAAA=", } // 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 }