Archived
Template
1
0

Initial commit

This commit is contained in:
uberswe
2021-12-12 14:56:13 +01:00
commit 0511f8fbca
1627 changed files with 773292 additions and 0 deletions

25
middleware/throttle.go Normal file
View File

@ -0,0 +1,25 @@
package middleware
import (
"github.com/gin-gonic/gin"
"github.com/ulule/limiter/v3"
middlewareGin "github.com/ulule/limiter/v3/drivers/middleware/gin"
"github.com/ulule/limiter/v3/drivers/store/memory"
"log"
)
func Throttle(limit int) gin.HandlerFunc {
// Define a limit rate to 3 requests per minute.
rate, err := limiter.NewRateFromFormatted("5-M")
if err != nil {
log.Fatal(err)
}
store := memory.NewStore()
if err != nil {
log.Fatal(err)
}
// Create a new middleware with the limiter instance.
return middlewareGin.NewMiddleware(limiter.New(store, rate))
}