initial commit 2
This commit is contained in:
50
server/serverconfig/util.go
Normal file
50
server/serverconfig/util.go
Normal file
@@ -0,0 +1,50 @@
|
||||
package serverconfig
|
||||
|
||||
import (
|
||||
"strings"
|
||||
|
||||
"bitbucket.org/nemt/nemt-portal-api/server/router/routeutils"
|
||||
"github.com/labstack/echo"
|
||||
)
|
||||
|
||||
// authSkipper is the default skipper for authentication and authorization
|
||||
func authSkipper(ctx echo.Context) bool {
|
||||
path := ctx.Request().URL.Path
|
||||
return (strings.HasPrefix(path, "/health") ||
|
||||
strings.HasPrefix(path, "/v1/authenticate") ||
|
||||
strings.HasPrefix(path, "/v1/docs") ||
|
||||
strings.HasPrefix(path, "/v1/twilio") ||
|
||||
strings.HasPrefix(path, "/v1/twilio/ws") ||
|
||||
strings.Contains(path, "/v1/ext") ||
|
||||
strings.Contains(path, "/v1/notification/ws") ||
|
||||
strings.HasPrefix(path, "/v1/lyfthook") ||
|
||||
strings.HasPrefix(path, "/v1/docs"))
|
||||
}
|
||||
|
||||
// appSkipper is the default skipper for the application routes
|
||||
func appSkipper(ctx echo.Context) bool {
|
||||
path := ctx.Request().URL.Path
|
||||
return strings.HasPrefix(path, "/v1/twilio")
|
||||
}
|
||||
|
||||
// docsSkipper is the default skipper for documentation
|
||||
func docsSkipper(ctx echo.Context) bool {
|
||||
path := ctx.Request().URL.Path
|
||||
return strings.HasPrefix(path, "/v1/docs")
|
||||
}
|
||||
|
||||
// middlewareErrorWrapper wraps a middleware and applies the default error handling to response
|
||||
func middlewareErrorWrapper(middleware echo.MiddlewareFunc) echo.MiddlewareFunc {
|
||||
return func(next echo.HandlerFunc) echo.HandlerFunc {
|
||||
handlerFunc := middleware(next)
|
||||
|
||||
return func(c echo.Context) error {
|
||||
err := handlerFunc(c)
|
||||
if err != nil {
|
||||
return routeutils.HandleAPIError(c, err)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user