diff options
author | href <href@random.sh> | 2018-11-05 15:19:03 +0100 |
---|---|---|
committer | href <href@random.sh> | 2018-11-05 15:19:03 +0100 |
commit | 6fe23c54581437fbaa42d880b57b3464bb439ce4 (patch) | |
tree | b1e18d79ff49020b8c7408b052afdf248332e7fa /lib/pleroma/web/twitter_api/twitter_api_controller.ex | |
parent | bd97b3614f2353619ab524844d100b6f25527592 (diff) | |
download | pleroma-6fe23c54581437fbaa42d880b57b3464bb439ce4.tar.gz |
Runtime configured router
Diffstat (limited to 'lib/pleroma/web/twitter_api/twitter_api_controller.ex')
-rw-r--r-- | lib/pleroma/web/twitter_api/twitter_api_controller.ex | 12 |
1 files changed, 12 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..3054a8106 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,17 @@ 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.") + end + end + defp error_json(conn, error_message) do %{"error" => error_message, "request" => conn.request_path} |> Jason.encode!() end |