dkforest

A forum and chat platform (onion)
git clone https://git.dasho.dev/n0tr1v/dkforest.git
Log | Files | Refs | LICENSE

commit 9b9ea31941b46afa492c0bc14182f64ad7056a15
parent cb1108c936e85348e2b39bd49c8b82d830e8a54f
Author: n0tr1v <n0tr1v@protonmail.com>
Date:   Sat,  3 Dec 2022 20:27:17 -0500

first use middleware / cleanup

Diffstat:
Mpkg/web/handlers/handlers.go | 15---------------
Mpkg/web/middlewares/middlewares.go | 10++++++++++
Mpkg/web/web.go | 1+
3 files changed, 11 insertions(+), 15 deletions(-)

diff --git a/pkg/web/handlers/handlers.go b/pkg/web/handlers/handlers.go @@ -207,11 +207,6 @@ func LoginHandler(c echo.Context) error { return c.NoContent(http.StatusNotFound) } - // If first use, redirect. - if config.IsFirstUse.IsTrue() { - return c.Redirect(http.StatusFound, "/") - } - return loginHandler(c) } @@ -229,11 +224,6 @@ func LoginAttackHandler(c echo.Context) error { return c.NoContent(http.StatusNotFound) } - // If first use, redirect. - if config.IsFirstUse.IsTrue() { - return c.Redirect(http.StatusFound, "/") - } - return loginHandler(c) } @@ -676,11 +666,6 @@ func SignupAttackHandler(c echo.Context) error { return c.NoContent(http.StatusNotFound) } - // If first use, redirect. - if config.IsFirstUse.IsTrue() { - return c.Redirect(http.StatusFound, "/") - } - return SignupHandler(c) } diff --git a/pkg/web/middlewares/middlewares.go b/pkg/web/middlewares/middlewares.go @@ -472,6 +472,16 @@ func NoAuthMiddleware(next echo.HandlerFunc) echo.HandlerFunc { } } +// FirstUseMiddleware if first use, redirect to / +func FirstUseMiddleware(next echo.HandlerFunc) echo.HandlerFunc { + return func(c echo.Context) error { + if config.IsFirstUse.IsTrue() { + return c.Redirect(http.StatusFound, "/") + } + return next(c) + } +} + // SecureMiddleware ... var SecureMiddleware = middleware.SecureWithConfig(middleware.SecureConfig{ XSSProtection: "1; mode=block", diff --git a/pkg/web/web.go b/pkg/web/web.go @@ -54,6 +54,7 @@ func getMainServer() echo.HandlerFunc { e.Use(staticbin.Static(bindata.Asset, staticbin.Options{Dir: "/public", SkipLogging: true})) e.Renderer = tmp.GetRenderer(e) + e.Use(middlewares.FirstUseMiddleware) e.Use(middlewares.DdosMiddleware) e.Use(middlewares.MaintenanceMiddleware) e.Use(middlewares.SecureMiddleware)