aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorlain <lain@soykaf.club>2018-06-03 19:58:59 +0200
committerlain <lain@soykaf.club>2018-06-03 19:58:59 +0200
commit06439f64d04190d0d548e28c41d2c2eb55aa5b2c (patch)
treed77e17c331194b8d67d891b214dc9679b31c5c44 /lib
parent4856ba596f5682a48a5cd17cacb607d996764f7a (diff)
downloadpleroma-06439f64d04190d0d548e28c41d2c2eb55aa5b2c.tar.gz
Better error handling for ActivityPubController
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/web/activity_pub/activity_pub_controller.ex10
-rw-r--r--lib/pleroma/web/ostatus/ostatus_controller.ex8
2 files changed, 11 insertions, 7 deletions
diff --git a/lib/pleroma/web/activity_pub/activity_pub_controller.ex b/lib/pleroma/web/activity_pub/activity_pub_controller.ex
index a6a9b99ef..ee5d319a7 100644
--- a/lib/pleroma/web/activity_pub/activity_pub_controller.ex
+++ b/lib/pleroma/web/activity_pub/activity_pub_controller.ex
@@ -27,9 +27,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubController do
|> json(ObjectView.render("object.json", %{object: object}))
else
{:public?, false} ->
- conn
- |> put_status(404)
- |> json("Not found")
+ {:error, :not_found}
end
end
@@ -107,6 +105,12 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubController do
json(conn, "ok")
end
+ def errors(conn, {:error, :not_found}) do
+ conn
+ |> put_status(404)
+ |> json("Not found")
+ end
+
def errors(conn, _e) do
conn
|> put_status(500)
diff --git a/lib/pleroma/web/ostatus/ostatus_controller.ex b/lib/pleroma/web/ostatus/ostatus_controller.ex
index 53278431e..de8567224 100644
--- a/lib/pleroma/web/ostatus/ostatus_controller.ex
+++ b/lib/pleroma/web/ostatus/ostatus_controller.ex
@@ -9,12 +9,12 @@ defmodule Pleroma.Web.OStatus.OStatusController do
alias Pleroma.Web.ActivityPub.ActivityPubController
alias Pleroma.Web.ActivityPub.ActivityPub
- def feed_redirect(conn, %{"nickname" => nickname} = params) do
+ def feed_redirect(conn, %{"nickname" => nickname}) do
user = User.get_cached_by_nickname(nickname)
case get_format(conn) do
"html" -> Fallback.RedirectController.redirector(conn, nil)
- "activity+json" -> ActivityPubController.user(conn, params)
+ "activity+json" -> ActivityPubController.call(conn, :user)
_ -> redirect(conn, external: OStatus.feed_path(user))
end
end
@@ -68,9 +68,9 @@ defmodule Pleroma.Web.OStatus.OStatusController do
|> send_resp(200, "")
end
- def object(conn, %{"uuid" => uuid} = params) do
+ def object(conn, %{"uuid" => uuid}) do
if get_format(conn) == "activity+json" do
- ActivityPubController.object(conn, params)
+ ActivityPubController.call(conn, :object)
else
with id <- o_status_url(conn, :object, uuid),
%Activity{} = activity <- Activity.get_create_activity_by_object_ap_id(id),