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+lS4lFydVsoTEEme5w6xJqNocUws+N8cuahi1YI6lGWVmBCZbPFBeI0+W",
85 "6hnxD7vHxknlZlmknv79+usengOuykpJlNYE3efA8AWWzP37UGtmhZJ/d98yNFyLih4E3eCjNGIuMQMh",
86 "Lc5Rg8hQWpGvhZwDgwq1UBmoHKwoEYSEWgpr6EEpikIY5EpmJgrCoBRSlHUZdFthYNcVBt2g0RlswmAo",
87 "l4o7Lx7V/NyNJ6w0GvIdGBi0ZGCMeik4Qm80BLE7DoWaG7AKZgjGKu1cBwb93mg4AK40Ql5LTqLkVaVV",
88 "hdoKdLEzzIfZufWhi9muQchc6dLboZgX3jp+rZShhGw1g8Z/1GgsPSvUfE6fKgdz0WMT7BJirBZyTvlg",
89 "laCUfEH9okMHTggvDquF4IvmW+beHpi9ZIoSdm7ienaDMBAWS3fmjxrzoBv8Id6DK26QFVMhN67uQy+e",
90 "7IwzrdmaXpq6qpS2mA2Q2VrjodLJOL3vvE2mfVWWSj4wy6I1K4uLtsZnejabMKAqCI1Z0P21Ke1JYpvg",
91 "P+8cU7PfkFvy7FUYShAyE0uR1ay4UlnKFqC0en0BapW4VNmxK8tRlx0XOIuuwOVnVuK5Pnp6iBKPjhUz",
92 "W3UhCAvCuKZiBp4bTRuomLbbkx+fhmCsrjnllsQyzIVnBTD1jBesNgh30R0daP91NILJGNL7qNNKrrn7",
93 "C2rjXDz1uHnxotOXdGZo7FBa1DnjeAKjNE2njgCmo3pWCLOYNvCe9kbD66jaqXs48HATBvkqO7J00pwW",
94 "hORFnaFxEUiV4bagAjX8dJy/4fvJAJ4GfXibtu8palYUkCu9Yjqj8rtOF2hghnaFKM8anknf5r33gxC4",
95 "kpxZlMxiBithF8BVWTInZCrGMQSM5hEk92nUitLort39SyuEWn6RaiW70w/vBtRIIaStdtSKkqQd/bl1",
96 "Kd1CVrUdMc1KtKgvEMijMA4/TpDQ1EhG0GeS2JnJNSxZUSO8Aa83BFmXM9QhzJQqkMkQHFOA0uA7M/Km",
97 "d7OCQuXr15joYMAdHZ+I8hQpCSHldxDOA7Pojm/CgNqa2QbMt6Puw04d6a7t78yzl/yhia60soqr4sfE",
98 "Ndpqc8xsVK05vk5apkIucsFhe+QlDtBo6sKeKxwoDX+bTEawjcixHlfSMiGNf2Uss7UBTt3a2N4j5ZIx",
99 "o/n/iG9qLb4Tph+1OJ+EbvLsZ8YRHZ+U5gADu+yeT0uygF8tasmKB8UvgPRgJqRpCr8kb6MkaoEPwbHZ",
100 "gGC7UvoLcZ+fIT8rbRczVcuMJGhNqnURdIOFtVU3jlerVdSeV1Wk9DzObRWPK+QmZpovxBLj9H5qUAs0",
101 "sTca+97P1bl3ZJ+snmyR0Sf5739B2kqT0Dv0Qc+ZFP90EqyAEdNWojbwU+9p+C6E3mQ4DqHfH/dCeD8Z",
102 "D0OYjB/cx6RHf/p/ij7JXlGAFvOFNYRo1EvMok8OX8IWlFSPm0e/NRJepvvdeOpXuOV2dgZJlEatN6yo",
103 "FixKGi6SrBKU8qgVEXNXzC5cReJntwNt4u3CVylzoVf6GplF2rMlrvYbjEvQlQWWZvyOBGmrCUbK2B5Z",
104 "eyRb5MSewH69vM262fjSUk17J4lTQEEYSEcdu71uj3Crawyb+w2Fd9K4m89eGI19pzI3O4gIUFq/llWF",
105 "8GHFvxlP6XtVLw2Z4xvM5rjryCfPT5WSxm+AaSv5bxo/mRLqpRsI8eJSZJjBbH3lRmNqztGYvC6K9fZi",
106 "pfwycuVqtUCWNRPrcUuj52jbcvB2zWwQIHFVrIE7LGY77g+Bca78XmSVnw/btbTrdtcnpewmZpV4sw/v",
107 "DQE+XiZHDRA/F2o+zDbfBB3K612r9Y1kvKt6TGediuQGFYlX0b5BRduruLtBxZ1TkdwQSOIDSW4IJPGB",
108 "JJ0bVHScivT++1Wk96SicwMuOh4XnRuK2vFFzTBnzQr0XWq25z3WL3fMjxoZ/09DIXzZ/sFVfxfeZdMu",
109 "R982jyjTbhNoEuG3nNfYjPYApgWbFbsfFEjcV6cBgVuVTDeO8SsrqwIjrsrgdDQ0B69e699GnZNrfZqm",
110 "BJDPm/8EAAD//6taPk1VFAAA",
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)