Archived
Template
1
0
This repository has been archived on 2023-12-20. You can view files and clone it, but cannot push or open issues or pull requests.
Files
golang-base-project/middleware/throttle.go

20 lines
469 B
Go
Raw Normal View History

2021-12-12 14:56:13 +01:00
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"
"time"
2021-12-12 14:56:13 +01:00
)
func Throttle(limit int) gin.HandlerFunc {
store := memory.NewStore()
// Create a new middleware with the limiter instance.
return middlewareGin.NewMiddleware(limiter.New(store, limiter.Rate{
Period: time.Minute,
Limit: int64(limit),
}))
2021-12-12 14:56:13 +01:00
}