mirror of
https://github.com/kataras/iris.git
synced 2025-01-24 11:11:03 +01:00
af9a1f1241
Former-commit-id: 3c1fb7ad47d54133f68ee0ee8ebe4c3835fe4ce0
32 lines
766 B
Go
32 lines
766 B
Go
package main
|
|
|
|
import (
|
|
"github.com/kataras/iris"
|
|
|
|
"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
|