Skip to content

Commit

Permalink
docs: update docs with MaxFunc parameter
Browse files Browse the repository at this point in the history
  • Loading branch information
luk3skyw4lker committed Jul 23, 2024
1 parent 2ae8eb8 commit 9c0980e
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions docs/middleware/limiter.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ app.Use(limiter.New(limiter.Config{
return c.IP() == "127.0.0.1"
},
Max: 20,
MaxCalculator: func(c fiber.Ctx) int {
MaxFunc: func(c fiber.Ctx) int {
return 20
},
Expiration: 30 * time.Second,
Expand Down Expand Up @@ -80,13 +80,13 @@ rate = weightOfPreviousWindow + current window's amount request.

## Dynamic limit

You can also calculate the limit dynamically using the MaxCalculator parameter. It's a function that receives the request's context as a parameter and allow you to calculate a different limit for each request separately.
You can also calculate the limit dynamically using the MaxFunc parameter. It's a function that receives the request's context as a parameter and allow you to calculate a different limit for each request separately.

Example:

```go
app.Use(limiter.New(limiter.Config{
MaxCalculator: func(c fiber.Ctx) int {
MaxFunc: func(c fiber.Ctx) int {
return getUserLimit(ctx.Param("id"))
},
Expiration: 30 * time.Second,
Expand All @@ -99,7 +99,7 @@ app.Use(limiter.New(limiter.Config{
|:-----------------------|:--------------------------|:--------------------------------------------------------------------------------------------|:-----------------------------------------|
| Next | `func(fiber.Ctx) bool` | Next defines a function to skip this middleware when returned true. | `nil` |
| Max | `int` | Max number of recent connections during `Expiration` seconds before sending a 429 response. | 5 |
| MaxCalculator | `func(fiber.Ctx) int` | A function to calculate the max number of recent connections during `Expiration` seconds before sending a 429 response. | A function which returns the cfg.Max |
| MaxFunc | `func(fiber.Ctx) int` | A function to calculate the max number of recent connections during `Expiration` seconds before sending a 429 response. | A function which returns the cfg.Max |
| KeyGenerator | `func(fiber.Ctx) string` | KeyGenerator allows you to generate custom keys, by default c.IP() is used. | A function using c.IP() as the default |
| Expiration | `time.Duration` | Expiration is the time on how long to keep records of requests in memory. | 1 * time.Minute |
| LimitReached | `fiber.Handler` | LimitReached is called when a request hits the limit. | A function sending 429 response |
Expand All @@ -120,7 +120,7 @@ A custom store can be used if it implements the `Storage` interface - more detai
```go
var ConfigDefault = Config{
Max: 5,
MaxCalculator: func(c fiber.Ctx) int {
MaxFunc: func(c fiber.Ctx) int {
return 5
},
Expiration: 1 * time.Minute,
Expand Down

0 comments on commit 9c0980e

Please sign in to comment.