Add generated code
[nonrtric/plt/sme.git] / capifcore / internal / loggingapi / loggingapi-server.gen.go
1 // Package loggingapi provides primitives to interact with the openapi HTTP API.
2 //
3 // Code generated by github.com/deepmap/oapi-codegen version v1.10.1 DO NOT EDIT.
4 package loggingapi
5
6 import (
7         "bytes"
8         "compress/gzip"
9         "encoding/base64"
10         "fmt"
11         "net/http"
12         "net/url"
13         "path"
14         "strings"
15
16         "github.com/deepmap/oapi-codegen/pkg/runtime"
17         "github.com/getkin/kin-openapi/openapi3"
18         "github.com/labstack/echo/v4"
19 )
20
21 // ServerInterface represents all server handlers.
22 type ServerInterface interface {
23
24         // (POST /{aefId}/logs)
25         PostAefIdLogs(ctx echo.Context, aefId string) error
26 }
27
28 // ServerInterfaceWrapper converts echo contexts to parameters.
29 type ServerInterfaceWrapper struct {
30         Handler ServerInterface
31 }
32
33 // PostAefIdLogs converts echo context to params.
34 func (w *ServerInterfaceWrapper) PostAefIdLogs(ctx echo.Context) error {
35         var err error
36         // ------------- Path parameter "aefId" -------------
37         var aefId string
38
39         err = runtime.BindStyledParameterWithLocation("simple", false, "aefId", runtime.ParamLocationPath, ctx.Param("aefId"), &aefId)
40         if err != nil {
41                 return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter aefId: %s", err))
42         }
43
44         // Invoke the callback with all the unmarshalled arguments
45         err = w.Handler.PostAefIdLogs(ctx, aefId)
46         return err
47 }
48
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
62 }
63
64 // RegisterHandlers adds each server route to the EchoRouter.
65 func RegisterHandlers(router EchoRouter, si ServerInterface) {
66         RegisterHandlersWithBaseURL(router, si, "")
67 }
68
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) {
72
73         wrapper := ServerInterfaceWrapper{
74                 Handler: si,
75         }
76
77         router.POST(baseURL+"/:aefId/logs", wrapper.PostAefIdLogs)
78
79 }
80
81 // Base64 encoded, gzipped, json marshaled Swagger object
82 var swaggerSpec = []string{
83
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",
111 }
112
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, ""))
117         if err != nil {
118                 return nil, fmt.Errorf("error base64 decoding spec: %s", err)
119         }
120         zr, err := gzip.NewReader(bytes.NewReader(zipped))
121         if err != nil {
122                 return nil, fmt.Errorf("error decompressing spec: %s", err)
123         }
124         var buf bytes.Buffer
125         _, err = buf.ReadFrom(zr)
126         if err != nil {
127                 return nil, fmt.Errorf("error decompressing spec: %s", err)
128         }
129
130         return buf.Bytes(), nil
131 }
132
133 var rawSpec = decodeSpecCached()
134
135 // a naive cached of a decoded swagger spec
136 func decodeSpecCached() func() ([]byte, error) {
137         data, err := decodeSpec()
138         return func() ([]byte, error) {
139                 return data, err
140         }
141 }
142
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
148         }
149
150         return res
151 }
152
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("")
160
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]
167                 if !ok {
168                         err1 := fmt.Errorf("path not found: %s", pathToFile)
169                         return nil, err1
170                 }
171                 return getSpec()
172         }
173         var specData []byte
174         specData, err = rawSpec()
175         if err != nil {
176                 return
177         }
178         swagger, err = loader.LoadFromData(specData)
179         if err != nil {
180                 return
181         }
182         return
183 }