diff options
author | kaniini <nenolod@gmail.com> | 2018-11-06 15:35:19 +0000 |
---|---|---|
committer | kaniini <nenolod@gmail.com> | 2018-11-06 15:35:19 +0000 |
commit | 0f3e78addb4a88106120737f2eb603ec136d99f9 (patch) | |
tree | 8052b28135e8e80e408dd3c5eb0ccfc47d7b6191 /lib/pleroma/web/twitter_api/twitter_api_controller.ex | |
parent | 25512aa29cae22b73ee45a22954693c1a130ea3e (diff) | |
parent | 013f7ba8c1c4e6519cf30d192e3a41c6c96f8a63 (diff) | |
download | pleroma-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/twitter_api_controller.ex')
-rw-r--r-- | lib/pleroma/web/twitter_api/twitter_api_controller.ex | 13 |
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 |