From 4e1bb7bccb196f26c55f6d3764e0066f81e92bd4 Mon Sep 17 00:00:00 2001 From: Hakaba Hitoyo Date: Sun, 9 Sep 2018 13:57:23 +0900 Subject: [PATCH] make limit for /api/v1/suggestions --- config/config.exs | 1 + lib/pleroma/web/mastodon_api/mastodon_api_controller.ex | 3 ++- lib/pleroma/web/nodeinfo/nodeinfo_controller.ex | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/config/config.exs b/config/config.exs index d88a56adf..ed718c3d3 100644 --- a/config/config.exs +++ b/config/config.exs @@ -128,6 +128,7 @@ third_party_engine: "http://vinayaka.distsn.org/cgi-bin/vinayaka-user-match-suggestions-api.cgi?{{host}}+{{user}}", timeout: 300_000, + limit: 23, web: "https://vinayaka.distsn.org/?{{host}}+{{user}}" # Import environment specific config. This must remain at the bottom diff --git a/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex b/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex index f2fcc76ad..e5d4245c4 100644 --- a/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex +++ b/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex @@ -1148,6 +1148,7 @@ def suggestions(%{assigns: %{user: user}} = conn, _) do if Keyword.get(@suggestions, :enabled, false) do api = Keyword.get(@suggestions, :third_party_engine, "") timeout = Keyword.get(@suggestions, :timeout, 5000) + limit = Keyword.get(@suggestions, :limit, 23) host = Application.get_env(:pleroma, Pleroma.Web.Endpoint) @@ -1161,7 +1162,7 @@ def suggestions(%{assigns: %{user: user}} = conn, _) do @httpoison.get(url, [], timeout: timeout, recv_timeout: timeout), {:ok, data} <- Jason.decode(body) do data2 = - Enum.slice(data, 0, 40) + Enum.slice(data, 0, limit) |> Enum.map(fn x -> Map.put( x, diff --git a/lib/pleroma/web/nodeinfo/nodeinfo_controller.ex b/lib/pleroma/web/nodeinfo/nodeinfo_controller.ex index 67cef004a..9c4827426 100644 --- a/lib/pleroma/web/nodeinfo/nodeinfo_controller.ex +++ b/lib/pleroma/web/nodeinfo/nodeinfo_controller.ex @@ -59,6 +59,7 @@ def nodeinfo(conn, %{"version" => "2.0"}) do enabled: Keyword.get(suggestions, :enabled, false), thirdPartyEngine: Keyword.get(suggestions, :third_party_engine, ""), timeout: Keyword.get(suggestions, :timeout, 5000), + limit: Keyword.get(suggestions, :limit, 23), web: Keyword.get(suggestions, :web, "") }, staffAccounts: staff_accounts,