@@ -119,17 +119,80 @@ middleware.Limiter(config ...LimiterConfig) func(*Ctx)
119
119
120
120
** Config**
121
121
122
- | Property | Type | Description | Default |
123
- | :--- | :--- | :--- | :--- |
124
- | Skip | ` func(*Ctx) bool ` | Defines a function to skip middleware | ` nil ` |
125
- | Timeout | ` int ` | Users defines the allowed credentials | ` 60 ` |
126
- | Max | ` int ` | Users defines the allowed credentials | ` 10 ` |
127
- | Message | ` string ` | Users defines the allowed credentials | ` "Too many requests, please try again later." ` |
128
- | StatusCode | ` int ` | Users defines the allowed credentials | ` 429 ` |
129
- | Key | ` func(*Ctx) string ` | Users defines the allowed credentials | ` return c.IP() ` |
130
- | Handler | ` func(*Ctx) ` | Realm is a string to define the realm attribute | ` c.Status(StatusCode).SendString(Message) ` |
131
-
132
- ** Example**
122
+ <table >
123
+ <thead >
124
+ <tr>
125
+ <th style="text-align:left">Property</th>
126
+ <th style="text-align:left">Type</th>
127
+ <th style="text-align:left">Description</th>
128
+ <th style="text-align:left">Default</th>
129
+ </tr>
130
+ </thead >
131
+ <tbody >
132
+ <tr>
133
+ <td style="text-align:left">Skip</td>
134
+ <td style="text-align:left"><code>func(*Ctx) bool</code>
135
+ </td>
136
+ <td style="text-align:left">Defines a function to skip middleware</td>
137
+ <td style="text-align:left"><code>nil</code>
138
+ </td>
139
+ </tr>
140
+ <tr>
141
+ <td style="text-align:left">Timeout</td>
142
+ <td style="text-align:left"><code>int</code>
143
+ </td>
144
+ <td style="text-align:left">Timeout in seconds on how long to keep records of requests in memory</td>
145
+ <td
146
+ style="text-align:left"><code>60</code>
147
+ </td>
148
+ </tr>
149
+ <tr>
150
+ <td style="text-align:left">Max</td>
151
+ <td style="text-align:left"><code>int</code>
152
+ </td>
153
+ <td style="text-align:left">Max number of recent connections during <code>Timeout</code> seconds before
154
+ sending a 429 response</td>
155
+ <td style="text-align:left"><code>10</code>
156
+ </td>
157
+ </tr>
158
+ <tr>
159
+ <td style="text-align:left">Message</td>
160
+ <td style="text-align:left"><code>string</code>
161
+ </td>
162
+ <td style="text-align:left">Response body</td>
163
+ <td style="text-align:left"><code>"Too many requests, please try again later."</code>
164
+ </td>
165
+ </tr>
166
+ <tr>
167
+ <td style="text-align:left">StatusCode</td>
168
+ <td style="text-align:left"><code>int</code>
169
+ </td>
170
+ <td style="text-align:left">Response status code</td>
171
+ <td style="text-align:left"><code>429</code>
172
+ </td>
173
+ </tr>
174
+ <tr>
175
+ <td style="text-align:left">Key</td>
176
+ <td style="text-align:left"><code>func(*Ctx) string</code>
177
+ </td>
178
+ <td style="text-align:left">Key allows to use a custom handler to create custom keys</td>
179
+ <td style="text-align:left"><code>func(c *fiber.Ctx) string { <br /> return c.IP() <br />}</code>
180
+ </td>
181
+ </tr>
182
+ <tr>
183
+ <td style="text-align:left">Handler</td>
184
+ <td style="text-align:left"><code>func(*Ctx)</code>
185
+ </td>
186
+ <td style="text-align:left">Handler is called when a request hits the limit</td>
187
+ <td style="text-align:left">
188
+ <p><code>func(c *fiber.Ctx) {</code>
189
+ </p>
190
+ <p><code> c.Status(cfg.StatusCode).SendString(cfg.Message) }</code>
191
+ </p>
192
+ </td>
193
+ </tr>
194
+ </tbody >
195
+ </table >**Example**
133
196
134
197
``` go
135
198
package main
0 commit comments