From 7269c51f3a4409110bc61faada08e35ce1b4d030 Mon Sep 17 00:00:00 2001 From: Roger Braun Date: Fri, 5 May 2017 12:07:38 +0200 Subject: [PATCH] Some refactoring. --- lib/pleroma/web/federator/federator.ex | 10 ++++---- .../web/ostatus/activity_representer.ex | 2 +- lib/pleroma/web/ostatus/ostatus.ex | 6 ++--- lib/pleroma/web/ostatus/ostatus_controller.ex | 3 ++- lib/pleroma/web/salmon/salmon.ex | 13 +++++++---- lib/pleroma/web/twitter_api/twitter_api.ex | 23 +++++++++---------- lib/pleroma/web/web_finger/web_finger.ex | 4 ++-- lib/pleroma/web/websub/websub.ex | 6 ++--- 8 files changed, 36 insertions(+), 31 deletions(-) diff --git a/lib/pleroma/web/federator/federator.ex b/lib/pleroma/web/federator/federator.ex index 675e804a2..c4dacd116 100644 --- a/lib/pleroma/web/federator/federator.ex +++ b/lib/pleroma/web/federator/federator.ex @@ -6,24 +6,24 @@ defmodule Pleroma.Web.Federator do @websub Application.get_env(:pleroma, :websub) def handle(:publish, activity) do - Logger.debug("Running publish for #{activity.data["id"]}") + Logger.debug(fn -> "Running publish for #{activity.data["id"]}" end) with actor when not is_nil(actor) <- User.get_cached_by_ap_id(activity.data["actor"]) do - Logger.debug("Sending #{activity.data["id"]} out via websub") + Logger.debug(fn -> "Sending #{activity.data["id"]} out via websub" end) Pleroma.Web.Websub.publish(Pleroma.Web.OStatus.feed_path(actor), actor, activity) {:ok, actor} = WebFinger.ensure_keys_present(actor) - Logger.debug("Sending #{activity.data["id"]} out via salmon") + Logger.debug(fn -> "Sending #{activity.data["id"]} out via salmon" end) Pleroma.Web.Salmon.publish(actor, activity) end end def handle(:verify_websub, websub) do - Logger.debug("Running websub verification for #{websub.id} (#{websub.topic}, #{websub.callback})") + Logger.debug(fn -> "Running websub verification for #{websub.id} (#{websub.topic}, #{websub.callback})" end) @websub.verify(websub) end def handle(type, payload) do - Logger.debug("Unknown task: #{type}") + Logger.debug(fn -> "Unknown task: #{type}" end) {:error, "Don't know what do do with this"} end diff --git a/lib/pleroma/web/ostatus/activity_representer.ex b/lib/pleroma/web/ostatus/activity_representer.ex index 88781626c..717670852 100644 --- a/lib/pleroma/web/ostatus/activity_representer.ex +++ b/lib/pleroma/web/ostatus/activity_representer.ex @@ -3,7 +3,7 @@ defmodule Pleroma.Web.OStatus.ActivityRepresenter do alias Pleroma.Web.OStatus.UserRepresenter require Logger - defp get_in_reply_to(%{"object" => %{ "inReplyTo" => in_reply_to}}) do + defp get_in_reply_to(%{"object" => %{"inReplyTo" => in_reply_to}}) do [{:"thr:in-reply-to", [ref: to_charlist(in_reply_to)], []}] end diff --git a/lib/pleroma/web/ostatus/ostatus.ex b/lib/pleroma/web/ostatus/ostatus.ex index 2fab67663..57fa3bcd5 100644 --- a/lib/pleroma/web/ostatus/ostatus.ex +++ b/lib/pleroma/web/ostatus/ostatus.ex @@ -24,8 +24,8 @@ def handle_incoming(xml_string) do entries = :xmerl_xpath.string('//entry', doc) activities = Enum.map(entries, fn (entry) -> - {:xmlObj, :string, object_type } = :xmerl_xpath.string('string(/entry/activity:object-type[1])', entry) - {:xmlObj, :string, verb } = :xmerl_xpath.string('string(/entry/activity:verb[1])', entry) + {:xmlObj, :string, object_type} = :xmerl_xpath.string('string(/entry/activity:object-type[1])', entry) + {:xmlObj, :string, verb} = :xmerl_xpath.string('string(/entry/activity:verb[1])', entry) case verb do 'http://activitystrea.ms/schema/1.0/share' -> @@ -206,7 +206,7 @@ def gather_user_info(username) do {:ok, feed_data} <- Websub.gather_feed_data(webfinger_data["topic"]) do {:ok, Map.merge(webfinger_data, feed_data) |> Map.put("fqn", username)} else e -> - Logger.debug("Couldn't gather info for #{username}") + Logger.debug(fn -> "Couldn't gather info for #{username}" end) {:error, e} end end diff --git a/lib/pleroma/web/ostatus/ostatus_controller.ex b/lib/pleroma/web/ostatus/ostatus_controller.ex index e442562d5..5f79cc7e9 100644 --- a/lib/pleroma/web/ostatus/ostatus_controller.ex +++ b/lib/pleroma/web/ostatus/ostatus_controller.ex @@ -48,7 +48,8 @@ def object(conn, %{"uuid" => uuid}) do activity = Activity.get_create_activity_by_object_ap_id(id) user = User.get_cached_by_ap_id(activity.data["actor"]) - response = ActivityRepresenter.to_simple_form(activity, user, true) + response = activity + |> ActivityRepresenter.to_simple_form(user, true) |> ActivityRepresenter.wrap_with_entry |> :xmerl.export_simple(:xmerl_xml) |> to_string diff --git a/lib/pleroma/web/salmon/salmon.ex b/lib/pleroma/web/salmon/salmon.ex index fe529c4c0..3a8c30778 100644 --- a/lib/pleroma/web/salmon/salmon.ex +++ b/lib/pleroma/web/salmon/salmon.ex @@ -101,8 +101,13 @@ def encode(private_key, doc) do |> Enum.map(&Base.url_encode64/1) |> Enum.join(".") - signature = :public_key.sign(signed_text, :sha256, private_key) |> to_string |> Base.url_encode64 - doc_base64= doc |> Base.url_encode64 + signature = signed_text + |> :public_key.sign(:sha256, private_key) + |> to_string + |> Base.url_encode64 + + doc_base64 = doc + |> Base.url_encode64 # Don't need proper xml building, these strings are safe to leave unescaped salmon = """ @@ -143,11 +148,11 @@ def publish(%{info: %{"keys" => keys}} = user, activity, poster) do remote_users(activity) |> Enum.each(fn(remote_user) -> - Logger.debug("sending salmon to #{remote_user.ap_id}") + Logger.debug(fn -> "sending salmon to #{remote_user.ap_id}" end) send_to_user(remote_user, feed, poster) end) end end - def publish(%{id: id}, _, _), do: Logger.debug("Keys missing for user #{id}") + def publish(%{id: id}, _, _), do: Logger.debug(fn -> "Keys missing for user #{id}" end) end diff --git a/lib/pleroma/web/twitter_api/twitter_api.ex b/lib/pleroma/web/twitter_api/twitter_api.ex index 7656d4d33..71f0c366e 100644 --- a/lib/pleroma/web/twitter_api/twitter_api.ex +++ b/lib/pleroma/web/twitter_api/twitter_api.ex @@ -41,7 +41,7 @@ def add_attachments(text, attachments) do Enum.join([text | attachment_text], "
") end - def create_status(user = %User{}, data = %{"status" => status}) do + def create_status(%User{} = user, %{"status" => status} = data) do attachments = attachments_from_ids(data["media_ids"]) context = ActivityPub.generate_context_id mentions = parse_mentions(status) @@ -122,8 +122,7 @@ def fetch_conversation(user, id) do statuses <- activities |> activities_to_statuses(%{for: user}) do statuses - else e -> - IO.inspect(e) + else _e -> [] end end @@ -135,26 +134,26 @@ def fetch_status(user, id) do end def follow(%User{} = follower, params) do - with { :ok, %User{} = followed } <- get_user(params), - { :ok, follower } <- User.follow(follower, followed), - { :ok, activity } <- ActivityPub.insert(%{ + with {:ok, %User{} = followed} <- get_user(params), + {:ok, follower} <- User.follow(follower, followed), + {:ok, activity} <- ActivityPub.insert(%{ "type" => "Follow", "actor" => follower.ap_id, "object" => followed.ap_id, "published" => make_date() }) do - { :ok, follower, followed, activity } + {:ok, follower, followed, activity} else err -> err end end def unfollow(%User{} = follower, params) do - with { :ok, %User{} = unfollowed } <- get_user(params), - { :ok, follower } <- User.unfollow(follower, unfollowed) + with {:ok, %User{} = unfollowed} <- get_user(params), + {:ok, follower} <- User.unfollow(follower, unfollowed) do - { :ok, follower, unfollowed} + {:ok, follower, unfollowed} else err -> err end @@ -269,14 +268,14 @@ def register_user(params) do def get_user(user \\ nil, params) do case params do - %{ "user_id" => user_id } -> + %{"user_id" => user_id} -> case target = Repo.get(User, user_id) do nil -> {:error, "No user with such user_id"} _ -> {:ok, target} end - %{ "screen_name" => nickname } -> + %{"screen_name" => nickname} -> case target = Repo.get_by(User, nickname: nickname) do nil -> {:error, "No user with such screen_name"} diff --git a/lib/pleroma/web/web_finger/web_finger.ex b/lib/pleroma/web/web_finger/web_finger.ex index 1eb26a89f..2da111035 100644 --- a/lib/pleroma/web/web_finger/web_finger.ex +++ b/lib/pleroma/web/web_finger/web_finger.ex @@ -102,8 +102,8 @@ def finger(account, getter \\ &HTTPoison.get/3) do {:ok, data} else e -> - Logger.debug("Couldn't finger #{account}.") - Logger.debug(inspect(e)) + Logger.debug(fn -> "Couldn't finger #{account}." end) + Logger.debug(fn -> inspect(e) end) {:error, e} end end diff --git a/lib/pleroma/web/websub/websub.ex b/lib/pleroma/web/websub/websub.ex index afbe944c5..848aac615 100644 --- a/lib/pleroma/web/websub/websub.ex +++ b/lib/pleroma/web/websub/websub.ex @@ -49,7 +49,7 @@ def publish(topic, user, activity) do |> to_string signature = sign(sub.secret || "", response) - Logger.debug("Pushing to #{sub.callback}") + Logger.debug(fn -> "Pushing to #{sub.callback}" end) HTTPoison.post(sub.callback, response, [ {"Content-Type", "application/atom+xml"}, @@ -196,8 +196,8 @@ def request_subscription(websub, poster \\ &HTTPoison.post/3, timeout \\ 10_000) change = Ecto.Changeset.change(websub, %{state: "rejected"}) {:ok, websub} = Repo.update(change) - Logger.debug("Couldn't confirm subscription: #{inspect(websub)}") - Logger.debug("error: #{inspect(e)}") + Logger.debug(fn -> "Couldn't confirm subscription: #{inspect(websub)}" end) + Logger.debug(fn -> "error: #{inspect(e)}" end) {:error, websub} end