mirror of
https://gh.wpcy.net/https://github.com/discourse/discourse.git
synced 2026-05-07 02:22:49 +08:00
This commit adds the `add_request_rate_limiter` plugin API which allows plugins to add custom rate limiters on top of the default rate limiters which requests by a user's id or the request's IP address.
Example to add a rate limiter that rate limits all requests from Googlebot under the same rate limit bucket:
```
add_request_rate_limiter(
identifier: :country,
key: ->(request) { "country/#{DiscourseIpInfo.get(request.ip)[:country]}" },
activate_when: ->(request) { DiscourseIpInfo.get(request.ip)[:country].present? },
)
```
|
||
|---|---|---|
| .. | ||
| schemas | ||
| shared | ||
| backups_spec.rb | ||
| badges_spec.rb | ||
| categories_spec.rb | ||
| groups_spec.rb | ||
| invites_spec.rb | ||
| multiple_invites_spec.rb | ||
| notifications_spec.rb | ||
| posts_spec.rb | ||
| private_messages_spec.rb | ||
| rate_limits_spec.rb | ||
| search_spec.rb | ||
| site_spec.rb | ||
| tags_spec.rb | ||
| topics_spec.rb | ||
| uploads_spec.rb | ||
| user_badges_spec.rb | ||
| users_spec.rb | ||