1 // Package loggingapi provides primitives to interact with the openapi HTTP API.
3 // Code generated by github.com/deepmap/oapi-codegen version v1.10.1 DO NOT EDIT.
16 "github.com/deepmap/oapi-codegen/pkg/runtime"
17 "github.com/getkin/kin-openapi/openapi3"
18 "github.com/labstack/echo/v4"
21 // ServerInterface represents all server handlers.
22 type ServerInterface interface {
24 // (POST /{aefId}/logs)
25 PostAefIdLogs(ctx echo.Context, aefId string) error
28 // ServerInterfaceWrapper converts echo contexts to parameters.
29 type ServerInterfaceWrapper struct {
30 Handler ServerInterface
33 // PostAefIdLogs converts echo context to params.
34 func (w *ServerInterfaceWrapper) PostAefIdLogs(ctx echo.Context) error {
36 // ------------- Path parameter "aefId" -------------
39 err = runtime.BindStyledParameterWithLocation("simple", false, "aefId", runtime.ParamLocationPath, ctx.Param("aefId"), &aefId)
41 return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter aefId: %s", err))
44 // Invoke the callback with all the unmarshalled arguments
45 err = w.Handler.PostAefIdLogs(ctx, aefId)
49 // This is a simple interface which specifies echo.Route addition functions which
50 // are present on both echo.Echo and echo.Group, since we want to allow using
51 // either of them for path registration
52 type EchoRouter interface {
53 CONNECT(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
54 DELETE(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
55 GET(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
56 HEAD(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
57 OPTIONS(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
58 PATCH(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
59 POST(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
60 PUT(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
61 TRACE(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
64 // RegisterHandlers adds each server route to the EchoRouter.
65 func RegisterHandlers(router EchoRouter, si ServerInterface) {
66 RegisterHandlersWithBaseURL(router, si, "")
69 // Registers handlers, and prepends BaseURL to the paths, so that the paths
70 // can be served under a prefix.
71 func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL string) {
73 wrapper := ServerInterfaceWrapper{
77 router.POST(baseURL+"/:aefId/logs", wrapper.PostAefIdLogs)
81 // Base64 encoded, gzipped, json marshaled Swagger object
82 var swaggerSpec = []string{
84 "H4sIAAAAAAAC/8xY3ZLayhF+lS4lFydVsoSEOc5yh1mTULU5phZ8bo5d1DBqwRxLM8rMCEy2eKC8Rp4s",
85 "1TPiH3Zt46TOzbJIPf379dc9PAVclZWSKK0Juk+B4Qssmfv3vtbMCiX/4b5laLgWFT0IusEHacRcYgZC",
86 "WpyjBpGhtCJfCzkHBhVqoTJQOVhRIggJtRTW0INSFIUwyJXMTBSEQSmkKOsy6LbCwK4rDLpBozPYhMFQ",
87 "LhV3Xjyo+bkbj1hpNOQ7MDBoycAY9VJwhN5oCGJ3HAo1N2AVzBCMVdq5Dgz6vdFwAFxphLyWnESjjzII",
88 "g0qrCrUV6KJnmA+zc/tDF7Vdg5C50qW3RFEvvH38UilDKdnqBo3/rNFYelao+Zw+VQ7mos/GOdIkxVgt",
89 "5JxywipBafmM+lmXDtwQXhxWC8EXzbfMvT0wfMkUJe3cxPUMB2EgLJbuzJ815kE3+FO8B1jcoCumYm5c",
90 "7YdePNkZZ1qzNb00dVUpbTEbILO1xkOlk3F613mTTPuqLJW8Z5ZFa1YWF22Nz/RsNmFAdRAas6D7W1Pc",
91 "k8Q2wX/aOaZmvyO35NmLUJQgZCaWIqtZcaW2lC1AafU6OgdbJS5VduzKctRpxwXOoitw+YWVeK6Pnh6i",
92 "xKNjxcxWXQjCgjCusZiBp0bTBiqm7fbkh8chGKtrTrklsQxz4ZkBeMFqg9CJ0ug1ybf/NhrBZAzpXZSk",
93 "aXQV3r+iNs7HU5ebF896fUlnhsYOpUWdM44nOErTdOpYYDqqZ4Uwi2mD72lvNLwOq526+wMPN2GQr7Ij",
94 "SyfdaUFIXtQZGheBVBluKypQw0/HCRy+mwzgcdCHN2n7jqJmRQG50iumM6q/a3WBBmZoV4jyrOOZ9H3e",
95 "ezcIgSvJmUXJLGawEnYBXJUlc0KmYhxDwGgeQXKXRi2qWbv711YItfws1Up2p+/fDqiTQkhb7agVJUk7",
96 "+rl1uYhCVrUdMc1KtKgvcMiDMA5CTpAA1UhG0GeSSJrJNSxZUSO8Aq83BFmXM9QhzJQqkMkQHFmA0uCb",
97 "kxDljO+GBoXL1y/R0cGkOzo+EeUpWhJCy1ewzj2z6I5vwoB6m9kG0Lcj7/1OHemu7Vdm2kv+4FRXWlnF",
98 "VfFjIhtttTmCNqrWHF/mLlMhF7ngsD3yHBNoNHVhzxUOlIa/TyYj2EbkyI8raZmQxr8yltnaAKeebWzv",
99 "sXLJmNH8/8Q6tRbfCdQPWpwPRDeA9qPjiJRPSnOAgV12z4cmWcAvFrVkxb3iF2B6MBvSNIVfkzfRz1EL",
100 "fAiO0wYE3JXSn4kB/Sz5RWm7mKlaZiRhAkpEEXSDhbWV6cbxarWK2vOqipSex7mt4nGF3MRM84VYYpze",
101 "TQ1qgSb2VmPf/rk6d48cILMnG2UE8FH+59+QttI09D6913Mmxb+cDCtgxLSVqA381Hscvg2hNxmOQ+j3",
102 "x70Q3k3GwxAm43v3MenRn/5fnM5eUYAW84U1BGvUS8yaeSlsQZn14HnwOySBZrrflad+nVtux2iQRGmU",
103 "NFQkWSUo31EralH1mF24csRPbg/axNulr1LmQqP0NTKLtG9LXO23GJecK2ssrSU7DqTNJhgpY3tk7YFs",
104 "kRN7/vrt8kbrxuNzqzXtniROAQVhIB1v7Ha7PbytrjFs7jkU3knXbj55YTT2rcrc6CAWQGn9alYVwocV",
105 "/248o+9VPTdjjm8ym+OWI588OVVKGr8Fpq3kf2n8ZEio5+4hRIpLkWEGs/WVe42pOUdj8roo1tsLlvL7",
106 "yNUr1gJZ1oyshy2LnuNtS8HbZbPBgMRVsQbu0JjtqD8Exrnyy5FVfjzsllNaYB+VspuYVeLVPr5XhPh4",
107 "mRx1QPxUqPkw23yU34QeSu3rVusbyXhX+JjOOhXJDSoSr6J9g4q2V/H6BhWvnYrkhkASH0hyQyCJDyTp",
108 "3KCi41Skd9+vIr0jFZ0bcNHxuOjcUNSOL2qGOWtWoO9Ssz3vsX6xZ37Y1PgjzYXwefsHN/5deJdNuxx9",
109 "20iiTLsloEmE33Je4jNaAZgWbFbsflcgcV+dBgS7VQm/sLIqMOKqDE6nQ3Pw8u3+TdQ5udunaUro+LT5",
110 "bwAAAP//cfEXzl0UAAA=",
113 // GetSwagger returns the content of the embedded swagger specification file
114 // or error if failed to decode
115 func decodeSpec() ([]byte, error) {
116 zipped, err := base64.StdEncoding.DecodeString(strings.Join(swaggerSpec, ""))
118 return nil, fmt.Errorf("error base64 decoding spec: %s", err)
120 zr, err := gzip.NewReader(bytes.NewReader(zipped))
122 return nil, fmt.Errorf("error decompressing spec: %s", err)
125 _, err = buf.ReadFrom(zr)
127 return nil, fmt.Errorf("error decompressing spec: %s", err)
130 return buf.Bytes(), nil
133 var rawSpec = decodeSpecCached()
135 // a naive cached of a decoded swagger spec
136 func decodeSpecCached() func() ([]byte, error) {
137 data, err := decodeSpec()
138 return func() ([]byte, error) {
143 // Constructs a synthetic filesystem for resolving external references when loading openapi specifications.
144 func PathToRawSpec(pathToFile string) map[string]func() ([]byte, error) {
145 var res = make(map[string]func() ([]byte, error))
146 if len(pathToFile) > 0 {
147 res[pathToFile] = rawSpec
153 // GetSwagger returns the Swagger specification corresponding to the generated code
154 // in this file. The external references of Swagger specification are resolved.
155 // The logic of resolving external references is tightly connected to "import-mapping" feature.
156 // Externally referenced files must be embedded in the corresponding golang packages.
157 // Urls can be supported but this task was out of the scope.
158 func GetSwagger() (swagger *openapi3.T, err error) {
159 var resolvePath = PathToRawSpec("")
161 loader := openapi3.NewLoader()
162 loader.IsExternalRefsAllowed = true
163 loader.ReadFromURIFunc = func(loader *openapi3.Loader, url *url.URL) ([]byte, error) {
164 var pathToFile = url.String()
165 pathToFile = path.Clean(pathToFile)
166 getSpec, ok := resolvePath[pathToFile]
168 err1 := fmt.Errorf("path not found: %s", pathToFile)
174 specData, err = rawSpec()
178 swagger, err = loader.LoadFromData(specData)