// Package eventsapi provides primitives to interact with the openapi HTTP API. // // Code generated by github.com/deepmap/oapi-codegen version v1.10.1 DO NOT EDIT. package eventsapi 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" ) // ServerInterface represents all server handlers. type ServerInterface interface { // (POST /{subscriberId}/subscriptions) PostSubscriberIdSubscriptions(ctx echo.Context, subscriberId string) error // (DELETE /{subscriberId}/subscriptions/{subscriptionId}) DeleteSubscriberIdSubscriptionsSubscriptionId(ctx echo.Context, subscriberId string, subscriptionId string) error } // ServerInterfaceWrapper converts echo contexts to parameters. type ServerInterfaceWrapper struct { Handler ServerInterface } // PostSubscriberIdSubscriptions converts echo context to params. func (w *ServerInterfaceWrapper) PostSubscriberIdSubscriptions(ctx echo.Context) error { var err error // ------------- Path parameter "subscriberId" ------------- var subscriberId string err = runtime.BindStyledParameterWithLocation("simple", false, "subscriberId", runtime.ParamLocationPath, ctx.Param("subscriberId"), &subscriberId) if err != nil { return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter subscriberId: %s", err)) } // Invoke the callback with all the unmarshalled arguments err = w.Handler.PostSubscriberIdSubscriptions(ctx, subscriberId) return err } // DeleteSubscriberIdSubscriptionsSubscriptionId converts echo context to params. func (w *ServerInterfaceWrapper) DeleteSubscriberIdSubscriptionsSubscriptionId(ctx echo.Context) error { var err error // ------------- Path parameter "subscriberId" ------------- var subscriberId string err = runtime.BindStyledParameterWithLocation("simple", false, "subscriberId", runtime.ParamLocationPath, ctx.Param("subscriberId"), &subscriberId) if err != nil { return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter subscriberId: %s", err)) } // ------------- Path parameter "subscriptionId" ------------- var subscriptionId string err = runtime.BindStyledParameterWithLocation("simple", false, "subscriptionId", runtime.ParamLocationPath, ctx.Param("subscriptionId"), &subscriptionId) if err != nil { return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter subscriptionId: %s", err)) } // Invoke the callback with all the unmarshalled arguments err = w.Handler.DeleteSubscriberIdSubscriptionsSubscriptionId(ctx, subscriberId, subscriptionId) 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.POST(baseURL+"/:subscriberId/subscriptions", wrapper.PostSubscriberIdSubscriptions) router.DELETE(baseURL+"/:subscriberId/subscriptions/:subscriptionId", wrapper.DeleteSubscriberIdSubscriptionsSubscriptionId) } // Base64 encoded, gzipped, json marshaled Swagger object var swaggerSpec = []string{ "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", "+GH97wAAAP//6q1GObMmAAA=", } // 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 }