Roll versions after J-Relase (master branch)
[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+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=",
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 }