aboutsummaryrefslogtreecommitdiff
path: root/lib/pleroma/web/twitter_api
diff options
context:
space:
mode:
authorkaniini <nenolod@gmail.com>2018-11-06 15:35:19 +0000
committerkaniini <nenolod@gmail.com>2018-11-06 15:35:19 +0000
commit0f3e78addb4a88106120737f2eb603ec136d99f9 (patch)
tree8052b28135e8e80e408dd3c5eb0ccfc47d7b6191 /lib/pleroma/web/twitter_api
parent25512aa29cae22b73ee45a22954693c1a130ea3e (diff)
parent013f7ba8c1c4e6519cf30d192e3a41c6c96f8a63 (diff)
downloadpleroma-0f3e78addb4a88106120737f2eb603ec136d99f9.tar.gz
Merge branch 'runtime-router' into 'develop'
Runtime configured router See merge request pleroma/pleroma!426
Diffstat (limited to 'lib/pleroma/web/twitter_api')
-rw-r--r--lib/pleroma/web/twitter_api/twitter_api_controller.ex13
1 files changed, 13 insertions, 0 deletions
diff --git a/lib/pleroma/web/twitter_api/twitter_api_controller.ex b/lib/pleroma/web/twitter_api/twitter_api_controller.ex
index 7153a2bd6..83d725f13 100644
--- a/lib/pleroma/web/twitter_api/twitter_api_controller.ex
+++ b/lib/pleroma/web/twitter_api/twitter_api_controller.ex
@@ -11,6 +11,7 @@ defmodule Pleroma.Web.TwitterAPI.Controller do
require Logger
+ plug(:only_if_public_instance when action in [:public_timeline, :public_and_external_timeline])
action_fallback(:errors)
def verify_credentials(%{assigns: %{user: user}} = conn, _params) do
@@ -518,6 +519,18 @@ defmodule Pleroma.Web.TwitterAPI.Controller do
json_reply(conn, 403, json)
end
+ def only_if_public_instance(conn = %{conn: %{assigns: %{user: _user}}}, _), do: conn
+
+ def only_if_public_instance(conn, _) do
+ if Keyword.get(Application.get_env(:pleroma, :instance), :public) do
+ conn
+ else
+ conn
+ |> forbidden_json_reply("Invalid credentials.")
+ |> halt()
+ end
+ end
+
defp error_json(conn, error_message) do
%{"error" => error_message, "request" => conn.request_path} |> Jason.encode!()
end