Update web router to use rate limiting middleware

This commit is contained in:
Luis Eduardo Jeréz Girón
2024-07-22 21:34:48 -06:00
parent 2e9616209b
commit cf2f8c4d96
3 changed files with 19 additions and 5 deletions
+4 -1
View File
@@ -3,13 +3,16 @@ package view
import (
"github.com/eduardolat/pgbackweb/internal/service"
"github.com/eduardolat/pgbackweb/internal/view/api"
"github.com/eduardolat/pgbackweb/internal/view/middleware"
"github.com/eduardolat/pgbackweb/internal/view/static"
"github.com/eduardolat/pgbackweb/internal/view/web"
"github.com/labstack/echo/v4"
)
func MountRouter(app *echo.Echo, servs *service.Service) {
mids := middleware.New(servs)
app.StaticFS("", static.StaticFs)
api.MountRouter(app.Group("/api"), servs)
web.MountRouter(app.Group(""), servs)
web.MountRouter(app.Group(""), mids, servs)
}
+10 -2
View File
@@ -1,7 +1,10 @@
package auth
import (
"time"
"github.com/eduardolat/pgbackweb/internal/service"
"github.com/eduardolat/pgbackweb/internal/view/middleware"
"github.com/labstack/echo/v4"
)
@@ -9,12 +12,17 @@ type handlers struct {
servs *service.Service
}
func MountRouter(parent *echo.Group, servs *service.Service) {
func MountRouter(
parent *echo.Group, mids *middleware.Middleware, servs *service.Service,
) {
h := handlers{servs: servs}
parent.GET("/create-first-user", h.createFirstUserPageHandler)
parent.POST("/create-first-user", h.createFirstUserHandler)
parent.GET("/login", h.loginPageHandler)
parent.POST("/login", h.loginHandler)
parent.POST("/login", h.loginHandler, mids.RateLimit(middleware.RateLimitConfig{
Limit: 5,
Period: 10 * time.Second,
}))
}
+5 -2
View File
@@ -2,10 +2,13 @@ package web
import (
"github.com/eduardolat/pgbackweb/internal/service"
"github.com/eduardolat/pgbackweb/internal/view/middleware"
"github.com/eduardolat/pgbackweb/internal/view/web/auth"
"github.com/labstack/echo/v4"
)
func MountRouter(parent *echo.Group, servs *service.Service) {
auth.MountRouter(parent.Group("/auth"), servs)
func MountRouter(
parent *echo.Group, mids *middleware.Middleware, servs *service.Service,
) {
auth.MountRouter(parent.Group("/auth"), mids, servs)
}