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