discourse/spec/requests/api
Alan Guo Xiang Tan 859d61003e
DEV: API to register custom request rate limiting conditions (#30239)
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? },
)
```
2024-12-23 09:57:18 +08:00
..
schemas DEV: Update create user w/ custom fields api docs (#30133) 2024-12-05 12:28:48 -07:00
shared DEV: Apply syntax_tree formatting to spec/* 2023-01-09 11:49:28 +00:00
backups_spec.rb DEV: Apply syntax_tree formatting to spec/* 2023-01-09 11:49:28 +00:00
badges_spec.rb DEV: Allow fab! without block (#24314) 2023-11-09 16:47:59 -06:00
categories_spec.rb DEV: Apply syntax_tree formatting to spec/* 2023-01-09 11:49:28 +00:00
groups_spec.rb DEV: Apply syntax_tree formatting to spec/* 2023-01-09 11:49:28 +00:00
invites_spec.rb FIX: Create invite api docs (#21460) 2023-05-09 13:20:46 -06:00
multiple_invites_spec.rb FEATURE: change /invites.json api endpoint to optionally accept array of emails (#24853) 2023-12-28 10:16:04 -05:00
notifications_spec.rb DEV: Block accidental serialization of entire AR models (#27668) 2024-07-01 17:08:48 -03:00
posts_spec.rb DEV: Block accidental serialization of entire AR models (#27668) 2024-07-01 17:08:48 -03:00
private_messages_spec.rb FIX: update id types in API docs to integers (#27412) 2024-06-26 20:44:39 -06:00
rate_limits_spec.rb DEV: API to register custom request rate limiting conditions (#30239) 2024-12-23 09:57:18 +08:00
search_spec.rb DEV: Document group param for search endpoint (#19806) 2023-01-09 14:46:07 -07:00
site_spec.rb DEV: Document basic-info endpoint (#26471) 2024-04-02 14:53:19 -06:00
tags_spec.rb FIX: update id types in API docs to integers (#27412) 2024-06-26 20:44:39 -06:00
topics_spec.rb FEATURE: Add skip notification option to group invite to topic (#29741) 2024-11-14 13:00:15 -03:00
uploads_spec.rb DEV: Apply syntax_tree formatting to spec/* 2023-01-09 11:49:28 +00:00
user_badges_spec.rb DEV: Apply syntax_tree formatting to spec/* 2023-01-09 11:49:28 +00:00
users_spec.rb DEV: Change hide_email_address_taken default to true (#30293) 2024-12-17 10:46:04 +08:00