123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326 |
- // Package codegen provides primitives to interact with the openapi HTTP API.
- //
- // Code generated by github.com/deepmap/oapi-codegen version v1.12.4 DO NOT EDIT.
- package codegen
- import (
- "bytes"
- "compress/gzip"
- "encoding/base64"
- "fmt"
- "net/http"
- "net/url"
- "path"
- "strings"
- "github.com/deepmap/oapi-codegen/pkg/runtime"
- "github.com/getkin/kin-openapi/openapi3"
- "github.com/labstack/echo/v4"
- )
- const (
- Access_tokenScopes = "access_token.Scopes"
- )
- // Defines values for SetZerotierNetworkStatusJSONBodyStatus.
- const (
- Offline SetZerotierNetworkStatusJSONBodyStatus = "offline"
- Online SetZerotierNetworkStatusJSONBodyStatus = "online"
- )
- // BaseResponse defines model for BaseResponse.
- type BaseResponse struct {
- // Message message returned by server side if there is any
- Message *string `json:"message,omitempty"`
- }
- // HealthPorts defines model for HealthPorts.
- type HealthPorts struct {
- TCP *[]int `json:"tcp,omitempty"`
- UDP *[]int `json:"udp,omitempty"`
- }
- // HealthServices defines model for HealthServices.
- type HealthServices struct {
- NotRunning *[]string `json:"not_running,omitempty"`
- Running *[]string `json:"running,omitempty"`
- }
- // ZTInfo defines model for ZTInfo.
- type ZTInfo struct {
- Id *string `json:"id,omitempty"`
- Name *string `json:"name,omitempty"`
- Status *string `json:"status,omitempty"`
- }
- // GetHealthPortsOK defines model for GetHealthPortsOK.
- type GetHealthPortsOK struct {
- Data *HealthPorts `json:"data,omitempty"`
- // Message message returned by server side if there is any
- Message *string `json:"message,omitempty"`
- }
- // GetHealthServicesOK defines model for GetHealthServicesOK.
- type GetHealthServicesOK struct {
- Data *HealthServices `json:"data,omitempty"`
- // Message message returned by server side if there is any
- Message *string `json:"message,omitempty"`
- }
- // GetZTInfoOK defines model for GetZTInfoOK.
- type GetZTInfoOK = ZTInfo
- // ResponseInternalServerError defines model for ResponseInternalServerError.
- type ResponseInternalServerError = BaseResponse
- // ResponseOK defines model for ResponseOK.
- type ResponseOK = BaseResponse
- // SetZerotierNetworkStatusJSONBody defines parameters for SetZerotierNetworkStatus.
- type SetZerotierNetworkStatusJSONBody struct {
- Status *SetZerotierNetworkStatusJSONBodyStatus `json:"status,omitempty"`
- }
- // SetZerotierNetworkStatusJSONBodyStatus defines parameters for SetZerotierNetworkStatus.
- type SetZerotierNetworkStatusJSONBodyStatus string
- // SetZerotierNetworkStatusJSONRequestBody defines body for SetZerotierNetworkStatus for application/json ContentType.
- type SetZerotierNetworkStatusJSONRequestBody SetZerotierNetworkStatusJSONBody
- // ServerInterface represents all server handlers.
- type ServerInterface interface {
- // Test file methods
- // (GET /file/test)
- GetFileTest(ctx echo.Context) error
- // Get log
- // (GET /health/logs)
- GetHealthlogs(ctx echo.Context) error
- // Get port in use
- // (GET /health/ports)
- GetHealthPorts(ctx echo.Context) error
- // Get service status
- // (GET /health/services)
- GetHealthServices(ctx echo.Context) error
- // Get Zerotier info
- // (GET /zt/info)
- GetZerotierInfo(ctx echo.Context) error
- // Set Zerotier network status
- // (PUT /zt/{network_id}/status)
- SetZerotierNetworkStatus(ctx echo.Context, networkId string) error
- }
- // ServerInterfaceWrapper converts echo contexts to parameters.
- type ServerInterfaceWrapper struct {
- Handler ServerInterface
- }
- // GetFileTest converts echo context to params.
- func (w *ServerInterfaceWrapper) GetFileTest(ctx echo.Context) error {
- var err error
- ctx.Set(Access_tokenScopes, []string{""})
- // Invoke the callback with all the unmarshalled arguments
- err = w.Handler.GetFileTest(ctx)
- return err
- }
- // GetHealthlogs converts echo context to params.
- func (w *ServerInterfaceWrapper) GetHealthlogs(ctx echo.Context) error {
- var err error
- ctx.Set(Access_tokenScopes, []string{""})
- // Invoke the callback with all the unmarshalled arguments
- err = w.Handler.GetHealthlogs(ctx)
- return err
- }
- // GetHealthPorts converts echo context to params.
- func (w *ServerInterfaceWrapper) GetHealthPorts(ctx echo.Context) error {
- var err error
- ctx.Set(Access_tokenScopes, []string{""})
- // Invoke the callback with all the unmarshalled arguments
- err = w.Handler.GetHealthPorts(ctx)
- return err
- }
- // GetHealthServices converts echo context to params.
- func (w *ServerInterfaceWrapper) GetHealthServices(ctx echo.Context) error {
- var err error
- ctx.Set(Access_tokenScopes, []string{""})
- // Invoke the callback with all the unmarshalled arguments
- err = w.Handler.GetHealthServices(ctx)
- return err
- }
- // GetZerotierInfo converts echo context to params.
- func (w *ServerInterfaceWrapper) GetZerotierInfo(ctx echo.Context) error {
- var err error
- ctx.Set(Access_tokenScopes, []string{""})
- // Invoke the callback with all the unmarshalled arguments
- err = w.Handler.GetZerotierInfo(ctx)
- return err
- }
- // SetZerotierNetworkStatus converts echo context to params.
- func (w *ServerInterfaceWrapper) SetZerotierNetworkStatus(ctx echo.Context) error {
- var err error
- // ------------- Path parameter "network_id" -------------
- var networkId string
- err = runtime.BindStyledParameterWithLocation("simple", false, "network_id", runtime.ParamLocationPath, ctx.Param("network_id"), &networkId)
- if err != nil {
- return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter network_id: %s", err))
- }
- ctx.Set(Access_tokenScopes, []string{""})
- // Invoke the callback with all the unmarshalled arguments
- err = w.Handler.SetZerotierNetworkStatus(ctx, networkId)
- return err
- }
- // This is a simple interface which specifies echo.Route addition functions which
- // are present on both echo.Echo and echo.Group, since we want to allow using
- // either of them for path registration
- type EchoRouter interface {
- CONNECT(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
- DELETE(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
- GET(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
- HEAD(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
- OPTIONS(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
- PATCH(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
- POST(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
- PUT(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
- TRACE(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
- }
- // RegisterHandlers adds each server route to the EchoRouter.
- func RegisterHandlers(router EchoRouter, si ServerInterface) {
- RegisterHandlersWithBaseURL(router, si, "")
- }
- // Registers handlers, and prepends BaseURL to the paths, so that the paths
- // can be served under a prefix.
- func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL string) {
- wrapper := ServerInterfaceWrapper{
- Handler: si,
- }
- router.GET(baseURL+"/file/test", wrapper.GetFileTest)
- router.GET(baseURL+"/health/logs", wrapper.GetHealthlogs)
- router.GET(baseURL+"/health/ports", wrapper.GetHealthPorts)
- router.GET(baseURL+"/health/services", wrapper.GetHealthServices)
- router.GET(baseURL+"/zt/info", wrapper.GetZerotierInfo)
- router.PUT(baseURL+"/zt/:network_id/status", wrapper.SetZerotierNetworkStatus)
- }
- // Base64 encoded, gzipped, json marshaled Swagger object
- var swaggerSpec = []string{
- "H4sIAAAAAAAC/8xX72/bNhD9VwhuH5pBsbxk3ToB/dAfaxoUW4Ilw4bGhktLZ4mNRKp3pyRuoP99oCjb",
- "sq386pqhn2xRp7v3Hnnk47WMbVFaA4ZJRtcSgUprCJqHA+C3oHLOji0yHb1zY7E1DIbdX1WWuY4Va2vC",
- "j2SNG6M4g0I1b/P8aCajs2v5PcJMRvK7cFUq9HEUvlQEf7Y1ZR1cyxJtCcjaI0gUN8luS9GBKOu6Htd1",
- "HcgEKEZdOmwykkfvZB2s6JwAXugYvnFGC5R3knp/emhm9oFkbqvvE8obay7oHRoGNCp3SAF/Q7T41TCs",
- "y7iNZFFb+OLCV++A+4p63IXFqVIHbbJmlte+iDbXQAFEKm1erCdqXwgErtBAIqZzQZ4f6QSEngnOAEFo",
- "EsrMZSDhShVlDjKSMpAIKjky+VxGjBUEkuele0OM2qQeeLdZtnBxXLofzVA0z8vkz4bLZNowpNAo3Y4o",
- "ROWgXO2mdteowo2dvjp2EVVyQ8Kn+w9M+Nfr4y6BZW9scTCWJ1gZ4xj3lpaxImVpQD6F3JJpA0cdyPvk",
- "200Vw6Wa3z+vY9N22hYLnazX+HFv/6enP//y7NdhX16vUTf+lSJ1dNIXS6y42mBgTa5ND+IGIkFcoeb5",
- "iVvdHp2KYyCasD2Hpou0W7sZqARQLtDIFxVnFvXnpuFWuVWp30HLXrfc15tgVA2H+3GpY64QmgcYGSGE",
- "8C/IVhiDKCDR6vlIPikRZoC0G9vc4m7TgxCJROH5zkgKwpiAn49kxlxSFIaoLgep5qyaVgTYbg+D2Bbh",
- "YQx/ZyqHU4izMLepDQulTeint/2ZTJUxgBOXfmJ0mvHk2XBYXg1Kk47kl4LNXaJHRMuXuikxmeYV3A5Y",
- "F6lQuYPgl5AH9f8j8mjCjVUwMh6VeHF8KEq0FzoBEoWmGPJcGbAViQI4swmJmUWR6NkMEAwLisEo1JYG",
- "Lssbi0ITVeC20UQkmuKKSFtDgShzUATiQpNmt9uKswPNb6upQCgtabY4Hz9ZqOGV2KbvYe4Ii+Kj1Uac",
- "2QrFa02xxWT1deIHBmkanptPL6bTl1P4Z2cwatpFc6eTHWEZyAtA8k1yseea2ZZgVKllJPcHw8G+DGSp",
- "OGt6NJzpHEIGas6+FHi70U6BWLiwhWYD2aTEpmUPExk5d/FGO07EzfnSMYd7w+FN5+YyLuwcxnUgnz7k",
- "kz5z0exHVVEonPfhd7KplGR0Jt90h8fuuzBrTg63MqkjyRZff8A0Uf2Mb7AUNmbgXWIEVaxbi5nFQrGM",
- "5FQbh7z3YO7zWV9ZrwNgkdu0o5Ln2q9TufAItwvlrcSXrI2t28XjMHY8hDaiIrgnc+qYi97GcWlbTyD8",
- "eSrsTICKM/GhdQM/fBBtmt6m2nAx/0m+zm3mcRRsibRU7xLxM4eLc/1G8d4DWtaAwkX2CrSIaOzRF8qz",
- "vBc9jixrJDqqLMe3dLk2wJcWzyc6qcOVESurHplOuhXa79oZ2BbsZCXYHz70ZDFXpUJVAANSc3NdL7LI",
- "qxMZeBfnzo+Vh1vhbebgU6URksXtYrXBbW5nYx8MxC9tMn/QNWzdBnfMqqkKJ+7SqtrZrPk3Du5jZJcj",
- "dvoRYm6t7be2qm6Z8zvWV8enN9O87tDPxm5K/EXSL4MKcxnJ8GKv9WXSBbQFNhfJk9Oj10c7q0Wx0fV1",
- "cNcHa2exK3S1yyo9QFuVvl4b9/vWKb61wYzrfwMAAP//9tkexLESAAA=",
- }
- // 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
- }
|