mirror of
https://github.com/kataras/iris.git
synced 2025-01-23 18:51:03 +01:00
3945fa68d1
We have to do the same on iris-contrib/examples, iris-contrib/middleware and e.t.c. Former-commit-id: 0860688158f374bc137bc934b81b26dcd0e10964
32 lines
770 B
Go
32 lines
770 B
Go
package main
|
|
|
|
import (
|
|
"github.com/kataras/iris/v12"
|
|
|
|
"github.com/didip/tollbooth"
|
|
"github.com/iris-contrib/middleware/tollboothic"
|
|
)
|
|
|
|
// $ go get github.com/didip/tollbooth
|
|
// $ go run main.go
|
|
|
|
func main() {
|
|
app := iris.New()
|
|
|
|
limiter := tollbooth.NewLimiter(1, nil)
|
|
//
|
|
// or create a limiter with expirable token buckets
|
|
// This setting means:
|
|
// create a 1 request/second limiter and
|
|
// every token bucket in it will expire 1 hour after it was initially set.
|
|
// limiter := tollbooth.NewLimiter(1, &limiter.ExpirableOptions{DefaultExpirationTTL: time.Hour})
|
|
|
|
app.Get("/", tollboothic.LimitHandler(limiter), func(ctx iris.Context) {
|
|
ctx.HTML("<b>Hello, world!</b>")
|
|
})
|
|
|
|
app.Run(iris.Addr(":8080"))
|
|
}
|
|
|
|
// Read more at: https://github.com/didip/tollbooth
|