b38460e3af614bacaba79a31414264ee73b6a8cf
echo-ratelimit
Small in-memory rate-limiting middleware for Echo, keyed by client IP.
Install
go get git.carlpearson.net/cwpearson/echo-ratelimit@latest
Usage
package main
import (
"net/http"
"time"
"github.com/labstack/echo/v4"
ratelimit "git.carlpearson.net/cwpearson/echo-ratelimit"
)
func main() {
e := echo.New()
e.Use(ratelimit.Middleware(60, time.Minute))
e.GET("/", func(c echo.Context) error {
return c.String(http.StatusOK, "ok")
})
e.Logger.Fatal(e.Start(":8080"))
}
Custom Configuration
e.Use(ratelimit.WithConfig(ratelimit.Config{
Limit: 10,
Window: time.Minute,
}))
Rate-limit headers are emitted by default.
Description
Languages
Go
100%