flamenco/pkg/api/openapi_spec.gen.go
Sybren A. Stüvel d0b677ffe3 Add API endpoint /api/version to get the Flamenco Manager version
This will be used in the auto-discovery, to check that a discovered URL can
actually be reached & points to a Flamenco Manager.
2022-03-08 13:56:43 +01:00

152 lines
7.3 KiB
Go

// 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{
"H4sIAAAAAAAC/9xb7W4bN9a+FWL6Am3xjiQnzvsCq1+bJk3qIB9G5bQ/EkOmZo40tDnklORI0QYGehF7",
"J7sF9sf2196Ae0eLw4/5kCjLbu1su0EQjGbIw/N9Dh8yH5NMlpUUIIxOxh8TnRVQUvv4WGu2EJCfUH2B",
"v3PQmWKVYVIk495XwjShxOAT1YQZ/K0gA7aEnMzWxBRAvpfqAtQwSZNKyQqUYWBXyWRZUpHbZ2agtA//",
"o2CejJPPRi1zI8/Z6ImbkFymiVlXkIwTqhRd4+9zOcPZ/rU2iomFfz+tFJOKmXVnABMGFqDCCPc2Ml3Q",
"Mv7hepraUFPvFQf1N3EjUSKqL3YzUtcsxw9zqUpqkrF7kW4OvEwTBT/UTEGejN+FQagcL0vDW0eEDS11",
"VNLlKm3tddqsK2fnkBlk8PGSMk5nHF7I2QSMQXa2PGfCxIID0e47kXNCyQs5I0hNRxykkCxzj3063xcg",
"yIItQaSEs5IZ62dLylmO/9agiZH4TgPxRIbkjeBrUmvkkayYKYhTml0c125ccEv5m86Ww5zW3GzzdVIA",
"8R8dH0QXciU8M6TWoMgKec/BgCqZsOsXTAeVDJE85Mwgl46+X2pOuYZ0Ww+mAIX0KedyRXDqJk1C5wbH",
"FEDO5YwUVJMZgCC6npXMGMiH5HtZ85ywsuJrkgMHN41zAh+YdgSpvtBkLpUjfS5nKaEix1iXZcU4jmFm",
"+F60PjmTkgMVKNEFrLeVdZSDMGzOQHm6jWOkpKy1ITMgtWA/1M5cTDQiBIttGar1/VtojpUl5Iwa4Gui",
"AP2ZULtMDnMmGE5I0VWt4LhkavmRtXGvKqoMy2pOVWPFHWrQ9SwE+HV5IRJKEz+zccZbUzjx05dMs03f",
"Mqq+TkHow32P8rZ4e+RCGJUVvEmRLzi7AELJVxxEDorQPB9I8eWQTMAguTNrkDMXCK5iUEEweypBebOG",
"KajBpWuei8+tMzSxBCK3saTjit5Iguh8ftANE9ektdNG/qpnA/zi3ME5Y7A5eVIrBcLwNZGYaWiga727",
"k2v0kJx983jyzddPp8+OXn49PX588s2Zq6M5U5AZqdakoqYg/0vO3iejz+yf98kZoVWFKs2d2CDqEuWb",
"Mw5THJ+kSc5UeLSvfc4vqC4gn7YjTyPBs8tptrOc10BH+k7EugRLNTl6euyy+dqKjU7jXWJIXksiQBvI",
"UTF1ZmoFmnxhE6xOSc4yXIoqBvpLQhUQXVeVVGZTdM98irX38CEKzSU1SWp9Ya+QcelCPWrXdH0M0+QV",
"FXQBymU+Zmzo0xJTeaR4cToDfrumwivz5g1RrOhu1auNcPAu4djrrLkvNlBbkVL8kmkTnMF69269beso",
"NBq/TuKTXkbcIW67REzA0FFuieU/EAWVAo0sEEq0a198H2Qz0QfIagP7Ot3dbWTjQJ3Pgb244TpTYhJ9",
"rZRUSGyz186h1z+GiNluXkvQmi5i/G4wZGm242PcPOO0BJHJ70Bpq9iPN9XMsp1xPRdhoI+rGBcv3OaA",
"cv5mnozfXe9hk9AW4azLdEuRCqiBmMfgByYFMawEbWhZYT4K6s6pgQF+ibUtLELu7dujp6HMvLD9+57W",
"/6a7DkwVzaajrvI7lmbDOpbToLN2vYbZ08tTZ6BXYGhODbWGynPbdlF+3NP9lsQb+1I1Y0ZRtSalJ+bL",
"rh6SV1LZwK04fOjWnIwKrFqlxLbXZqwao5yc0eFsmJ0RIY3TQ2hRL2CN8Q0fKNLyDm0dbZxMKsUMkGeK",
"LQqsQtijDKGkjCPX65kC8eeZL4FSLcIIFwPJxA4gE/Ovfy6BdxJbz5EnnRoR15Pr5qJzGwcJBZRmhi3t",
"3o6KDDXgtnkVB+OfhVMWk2Iwp8yNaB4qWmv78EMNtX2gKitw7988uvrsyA/QM2zZ90R6L+yzo1Kjigbd",
"xZM0WVG7txnMpRpgJ6OjBf5bWDBtQEHukvF2yqF5rkDHHYpTbaZWKf29fad4s+xidzrn1GCQxKu7nJsV",
"VTtK/41i14nUhm9TaqfNPr1fSvduZX8TrtDoIm2U2sUXgjLSJHOtseUy2dRyRzM7JIrl9AlktWJmvaPe",
"3biIXVe9eqUg2ii2W8R2O419Qah7G6mi7CS5+0sb/sPh1V/JLz9e/XT189Xfr3765cerf1z9fPW3LvAz",
"/r+DftPpV5lmZZ6Mk4/+5yVasKjFxVSzv0AyPkSZjKKZmdI6ZzKkHAxKu7sYJyNlZ470fHQuZ+jAIODB",
"w8OhJdktJcevn+PPSifjh4/SZI7NjU7GyYPBgwNs7Eu6AD2VarpkOUjsVOybJE1kbarauE0NfDAgXL+Q",
"DCubchwHUzeqz5JbpGGqExeaoakGXvCBm+Lwvr53tXbcU2ubunZTNLHZlaNxItBix1z7ynwY2kENrg8G",
"H8we72u4isVGB7y8RT1pKkeT6jH228oSqRO+xsRyPfLw1nYUkU1q841Y4EIYLO7Ut+gYo64XcbiTFYS8",
"rw8OHv4/4XKhHbBhcW1mPte+0bcI3aYzdMtFn4c3AgacCQ8ziZxluOCqoEgxa+CCwu7rseuwsCQyhAsP",
"yZslqBXmBk0qBUsma83XTpawaNPhxBpCLiMY7Eu5IMhUB83zabk/P01WjHNsjgLsgFJY3VgOgCrOcLMz",
"FjXnHsCe3Br4jrU5zkaukitq4huHX1+HIVNg4p9+Yz3dCCe/Uq8URpfolNLTnfqYsIV4c1tNhNI63b2f",
"unOxO23BDmm3uLpGakMNPCmoWMC26C5up226uFX/tGmtTWI3YirfxdUd8LKHg37q1YYq4wKXruiFbco0",
"B8CNG9gmKU10UZtcrixoCtqPlvM55oNIhnXBYtusCXLtxFtZBqa0xkq/tW3VoND2mHQxkbnB5OhpSiqq",
"9UqqPHxy0eGOcQg1YajqhD1mNasvi+9SzbI2TRXGVMkl8sjEXDqMQxiamRZWaOAHcgIUg69W3M/U49Fo",
"Hpo0Jkfbu8lvHXr9jKqSlA7AIo+Pj7B9ZRkIDZ11nh+/XB5u0V+tVsOFqLFnG/k5erSo+OBweDAEMSxM",
"6bZ5zPAet365pIOCJA+GB8MDHC0rELRi2ODZV1ghTWEtM6IVs/2W9UmprSrQM60yj3KHYJfMOEDBe/pX",
"Ml8H9YGwc2hVcSxWTIrRuXZZw/ntPq/uoyeXW1q16Kr0zXLSdXrsIW0U6EqipnClhwcHn5SzFdVE11kG",
"el5zvibubAtywoSv4EuW15S747DhxlngnbDp9jMR/uwHErYrNjbrsqRq3ViVUCJgZZFYLO2NO3n4tYNX",
"2m6BYhNpAVKdnPbIvQjnORqdj4DIK8mEsfI2PjZqysQCIo72HEwDGt+jVbcR6ojqmkEtSr2hwOdgCN9C",
"si3IWwBTG0D/Naprl2rUf94ecPf09/FczqYsv9ypwmdgssKFahcnfvcxYSiVP+fxKcgR24qotKPHfXv8",
"03u00zVBZ9N33xxWcvuB0Jk7aLW2u4Hfukki90m0RM6D2js90C6f/a5Bk+9NFZuYeEQtAi3FSWAh4qyo",
"kMbDvFzNIbUP+KQ3y/UNDvGsNfjOX5KsgOzC/WIa9xU1xdRHW/Ia1BIb/aBGV6hHyiNtg1ULtEVrToDk",
"PCB3P4UnsmeIKLbd/QXuP2kN2gInb2L7T1hjagEfKsgM5AT8mK4LBfZ9oVkFe4aQ9C9OI5OcSdBD25l6",
"06M0W4iBnM+vaV9wDzSfb4fno+1W9PenSN9L2xTe66LfnWLybXX2iqqLbvtMNQld+h5tP6Hcn2OEeMdN",
"u08YoRG4EPZCB6w/V0AW0l3FsuSHcZOIPRYR9xrUfond4dzAcZ8ylre3p3+IYL6xDz6uTQHCOMzKI2Po",
"DeHyz6o5675jh1RA8zWOQnrurkUPrWOtwbfd1XgwMFrfOyZL/tOeYTklmf1OWszhMt2VzMjuGb9vl7q9",
"e7iWZBVuoBWgwN0SW+9QQtwPBlkHoYkmrwiac6+JrLtQRL2vm9Lo5LxBPvvvqns+n3u7OSUMyQn2ppm9",
"ojqzN8tohgmDQ+76e4fV+1zSnh30fCUlUmHmCloJ+QXUgMuMcpvaKNd3nc+W0JOm1luuavwd+x3lNSsg",
"rzmcOIj+/vbR3Rv/EcPau/5dAGFXonot/V3h/v1Hu78I16Mu0+TRweHdITu9o+AI88egApbxFARzSfPR",
"wZ8iF8udAzJNhDSh0rlDLedOKdEyfLZXrqF3D8yJbg9yiZArJ+rDw09bWkIUUYFcypmhTNi223KXkllt",
"3HXNhbQ3x4W0edZF2y0j9o2jThv6HW3sCyXrU9o7uIrATJ0IGX20BwgeLonHSuc48CaIiSf42yGTuy8X",
"HUl2xaLvh5hwLAbM4tbV4qSAQGtlU2sGVaio0RA58ceTtiL7rNF1I2c0GyemT9vGTJf+H6UsvW1PilHy",
"lJh1xTILk3QPdislFwq0Tv1FM/8/BxSZU8ZrBXtrS6goGkTeQ79Q3YE6ZjHsiEKkqmXwcXf6MEo6Tdem",
"8b7CjIx/bVK2d+hRhAUYC1M29+ZmlM847aGL2l6G3ABWj4/6UHO3iZNlWQt/5M1MsYVHD1vyXhuXp5f/",
"DgAA///4VeLtlTYAAA==",
}
// 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
}