diff options
author | dtluna <dtluna@openmailbox.org> | 2017-04-24 12:09:11 +0300 |
---|---|---|
committer | dtluna <dtluna@openmailbox.org> | 2017-04-24 12:09:11 +0300 |
commit | 5b6070ec404f83055db8c9be083b6d3a2a30df75 (patch) | |
tree | f77b7bd7e7f78fa243323813be69f3048fd6bad6 | |
parent | 1e3791877caa15cc6ef5873c747a4a466ba6cbd4 (diff) | |
download | pleroma-5b6070ec404f83055db8c9be083b6d3a2a30df75.tar.gz |
Deny whitespace statuses
-rw-r--r-- | lib/pleroma/web/twitter_api/twitter_api_controller.ex | 14 | ||||
-rw-r--r-- | test/web/twitter_api/twitter_api_controller_test.exs | 3 |
2 files changed, 12 insertions, 5 deletions
diff --git a/lib/pleroma/web/twitter_api/twitter_api_controller.ex b/lib/pleroma/web/twitter_api/twitter_api_controller.ex index 2ea45603a..4740c3a4c 100644 --- a/lib/pleroma/web/twitter_api/twitter_api_controller.ex +++ b/lib/pleroma/web/twitter_api/twitter_api_controller.ex @@ -16,11 +16,15 @@ defmodule Pleroma.Web.TwitterAPI.Controller do empty_status_reply(conn) end - def status_update(%{assigns: %{user: user}} = conn, %{"status" => _status_text} = status_data) do - media_ids = extract_media_ids(status_data) - {:ok, activity} = TwitterAPI.create_status(user, Map.put(status_data, "media_ids", media_ids )) - conn - |> json_reply(200, ActivityRepresenter.to_json(activity, %{user: user})) + def status_update(%{assigns: %{user: user}} = conn, %{"status" => status_text} = status_data) do + if status_text |> String.trim |> String.length != 0 do + media_ids = extract_media_ids(status_data) + {:ok, activity} = TwitterAPI.create_status(user, Map.put(status_data, "media_ids", media_ids )) + conn + |> json_reply(200, ActivityRepresenter.to_json(activity, %{user: user})) + else + empty_status_reply(conn) + end end def status_update(conn, _status_data) do diff --git a/test/web/twitter_api/twitter_api_controller_test.exs b/test/web/twitter_api/twitter_api_controller_test.exs index 0bd27c8c7..766268ce9 100644 --- a/test/web/twitter_api/twitter_api_controller_test.exs +++ b/test/web/twitter_api/twitter_api_controller_test.exs @@ -42,6 +42,9 @@ defmodule Pleroma.Web.TwitterAPI.ControllerTest do conn = conn_with_creds |> post(request_path, %{ status: "" }) assert json_response(conn, 400) == error_response + conn = conn_with_creds |> post(request_path, %{ status: " " }) + assert json_response(conn, 400) == error_response + conn = conn_with_creds |> post(request_path, %{ status: "Nice meme." }) assert json_response(conn, 200) == ActivityRepresenter.to_map(Repo.one(Activity), %{user: user}) end |