diff options
| author | lain <lain@soykaf.club> | 2018-06-03 19:58:59 +0200 | 
|---|---|---|
| committer | lain <lain@soykaf.club> | 2018-06-03 19:58:59 +0200 | 
| commit | 06439f64d04190d0d548e28c41d2c2eb55aa5b2c (patch) | |
| tree | d77e17c331194b8d67d891b214dc9679b31c5c44 /lib | |
| parent | 4856ba596f5682a48a5cd17cacb607d996764f7a (diff) | |
| download | pleroma-06439f64d04190d0d548e28c41d2c2eb55aa5b2c.tar.gz pleroma-06439f64d04190d0d548e28c41d2c2eb55aa5b2c.zip | |
Better error handling for ActivityPubController
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/pleroma/web/activity_pub/activity_pub_controller.ex | 10 | ||||
| -rw-r--r-- | lib/pleroma/web/ostatus/ostatus_controller.ex | 8 | 
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), | 
