// 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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", "xdw2DV+pAAA=", } // 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 }