1. func SetUp (maxBurstSize int) gin.HandlerFunc {
    2. // rate.Every(time.Second*1) 每秒添加一个访问名额
    3. // maxBurstSize 最大访问名额
    4. limiter := rate.NewLimiter(rate.Every(time.Second*1), maxBurstSize)
    5. return func(c *gin.Context) {
    6. if limiter.Allow() {
    7. c.Next()
    8. return
    9. }
    10. c.String(400, "Too many requests")
    11. c.Abort()
    12. return
    13. }
    14. }