projects
/
akkoma
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
4856ba5
)
Better error handling for ActivityPubController
author
lain
<lain@soykaf.club>
Sun, 3 Jun 2018 17:58:59 +0000
(19:58 +0200)
committer
lain
<lain@soykaf.club>
Sun, 3 Jun 2018 17:58:59 +0000
(19:58 +0200)
lib/pleroma/web/activity_pub/activity_pub_controller.ex
patch
|
blob
|
history
lib/pleroma/web/ostatus/ostatus_controller.ex
patch
|
blob
|
history
test/web/activity_pub/activity_pub_controller_test.exs
patch
|
blob
|
history
diff --git
a/lib/pleroma/web/activity_pub/activity_pub_controller.ex
b/lib/pleroma/web/activity_pub/activity_pub_controller.ex
index a6a9b99eff30604563d37981f5114318a2a1bd8c..ee5d319a716b76553fb55dcc8ee0512b3b08cd43 100644
(file)
--- 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} ->
|> json(ObjectView.render("object.json", %{object: object}))
else
{:public?, false} ->
- conn
- |> put_status(404)
- |> json("Not found")
+ {:error, :not_found}
end
end
end
end
@@
-107,6
+105,12
@@
defmodule Pleroma.Web.ActivityPub.ActivityPubController do
json(conn, "ok")
end
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)
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 53278431e1b766b78c8cc09f825f8e43b4703d76..de85672241f513709dc08920c2d7623eb4bba940 100644
(file)
--- 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
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)
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
_ -> redirect(conn, external: OStatus.feed_path(user))
end
end
@@
-68,9
+68,9
@@
defmodule Pleroma.Web.OStatus.OStatusController do
|> send_resp(200, "")
end
|> send_resp(200, "")
end
- def object(conn, %{"uuid" => uuid}
= params
) do
+ def object(conn, %{"uuid" => uuid}) do
if get_format(conn) == "activity+json" 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),
else
with id <- o_status_url(conn, :object, uuid),
%Activity{} = activity <- Activity.get_create_activity_by_object_ap_id(id),
diff --git
a/test/web/activity_pub/activity_pub_controller_test.exs
b/test/web/activity_pub/activity_pub_controller_test.exs
index 305f9d0e05a692af25a9e1c9bbf6ecda3b10b78e..bbf89136b1b8ee786d6e3e96fcb1395a6f9b1b59 100644
(file)
--- a/
test/web/activity_pub/activity_pub_controller_test.exs
+++ b/
test/web/activity_pub/activity_pub_controller_test.exs
@@
-4,7
+4,6
@@
defmodule Pleroma.Web.ActivityPub.ActivityPubControllerTest do
alias Pleroma.Web.ActivityPub.{UserView, ObjectView}
alias Pleroma.{Repo, User}
alias Pleroma.Activity
alias Pleroma.Web.ActivityPub.{UserView, ObjectView}
alias Pleroma.{Repo, User}
alias Pleroma.Activity
- alias Pleroma.Web.CommonAPI
describe "/users/:nickname" do
test "it returns a json representation of the user", %{conn: conn} do
describe "/users/:nickname" do
test "it returns a json representation of the user", %{conn: conn} do