goshorly/utils/limiter.go

28 lines
752 B
Go
Raw Normal View History

package utils
import (
"time"
"github.com/gofiber/fiber/v2"
"github.com/gofiber/fiber/v2/middleware/limiter"
)
var ConfigLimiter limiter.Config = limiter.Config{
Max: 10,
Expiration: 60 * time.Second,
LimitReached: func(c *fiber.Ctx) error {
2022-01-26 20:01:57 +00:00
if c.Get("content-type") == "application/json" {
return c.Status(418).JSON(fiber.Map{
"msg": "Too many requests, slow down I'm a teapot (10 requests per minute)",
"success": false,
})
}
return c.Render("views/home", fiber.Map{
"ERR": "You have reached the limit of requests! Please check back later. (1 minute)",
"CI_COMMIT_SHORT_SHA": CI_COMMIT_SHORT_SHA,
"CI_COMMIT_BRANCH": CI_COMMIT_BRANCH,
"CI_BUILD": CI_BUILD,
})
},
}