diff options
author | kaniini <ariadne@dereferenced.org> | 2019-07-16 21:35:12 +0000 |
---|---|---|
committer | kaniini <ariadne@dereferenced.org> | 2019-07-16 21:35:12 +0000 |
commit | 4ac269a2c37f335d56c91bcda81e006b6d5e6999 (patch) | |
tree | dee6a5a7d409ba7a62a9dc4dfcd4b658f814a28e /lib | |
parent | d3b922276138cf7aaa896d52a8e35113a40e22dc (diff) | |
parent | 2ba07b63f4557554cd4acc63dc8e0424612554a0 (diff) | |
download | pleroma-4ac269a2c37f335d56c91bcda81e006b6d5e6999.tar.gz |
Merge branch '1094-relation-actions-rate-limiting' into 'develop'
[#1094] Rate-limited follow & unfollow actions.
Closes #1094
See merge request pleroma/pleroma!1436
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/web/mastodon_api/mastodon_api_controller.ex | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex b/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex index f4aa576f7..a732a6990 100644 --- a/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex +++ b/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex @@ -47,6 +47,8 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do require Logger + @rate_limited_relations_actions ~w(follow unfollow)a + @rate_limited_status_actions ~w(reblog_status unreblog_status fav_status unfav_status post_status delete_status)a @@ -62,6 +64,12 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do when action in ~w(fav_status unfav_status)a ) + plug( + RateLimiter, + {:relations_id_action, params: ["id", "uri"]} when action in @rate_limited_relations_actions + ) + + plug(RateLimiter, :relations_actions when action in @rate_limited_relations_actions) plug(RateLimiter, :statuses_actions when action in @rate_limited_status_actions) plug(RateLimiter, :app_account_creation when action == :account_register) plug(RateLimiter, :search when action in [:search, :search2, :account_search]) |