diff options
author | kaniini <ariadne@dereferenced.org> | 2019-07-19 16:20:23 +0000 |
---|---|---|
committer | kaniini <ariadne@dereferenced.org> | 2019-07-19 16:20:23 +0000 |
commit | 6561709742dacc084ca2dc6a47b1c516b7f2ab78 (patch) | |
tree | 2e6681d53ce3f0cc167f0d36df7bb6bcf89f77fc /lib | |
parent | 505613f6a722b87d81d28f49cd2869422ce0338c (diff) | |
parent | c2e2aadc4254fe931ea519a9813854ccdac456b8 (diff) | |
download | pleroma-6561709742dacc084ca2dc6a47b1c516b7f2ab78.tar.gz |
Merge branch 'issue/1110' into 'develop'
#1110 fixed /api/pleroma/healthcheck
Closes #1110
See merge request pleroma/pleroma!1453
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/web/twitter_api/controllers/util_controller.ex | 32 |
1 files changed, 18 insertions, 14 deletions
diff --git a/lib/pleroma/web/twitter_api/controllers/util_controller.ex b/lib/pleroma/web/twitter_api/controllers/util_controller.ex index c10c66ff2..9e4da7dca 100644 --- a/lib/pleroma/web/twitter_api/controllers/util_controller.ex +++ b/lib/pleroma/web/twitter_api/controllers/util_controller.ex @@ -8,7 +8,9 @@ defmodule Pleroma.Web.TwitterAPI.UtilController do require Logger alias Pleroma.Activity + alias Pleroma.Config alias Pleroma.Emoji + alias Pleroma.Healthcheck alias Pleroma.Notification alias Pleroma.Plugs.AuthenticationPlug alias Pleroma.User @@ -23,7 +25,8 @@ defmodule Pleroma.Web.TwitterAPI.UtilController do end def remote_subscribe(conn, %{"nickname" => nick, "profile" => _}) do - with %User{} = user <- User.get_cached_by_nickname(nick), avatar = User.avatar_url(user) do + with %User{} = user <- User.get_cached_by_nickname(nick), + avatar = User.avatar_url(user) do conn |> render("subscribe.html", %{nickname: nick, avatar: avatar, error: false}) else @@ -338,20 +341,21 @@ defmodule Pleroma.Web.TwitterAPI.UtilController do end def healthcheck(conn, _params) do - info = - if Pleroma.Config.get([:instance, :healthcheck]) do - Pleroma.Healthcheck.system_info() - else - %{} - end + with true <- Config.get([:instance, :healthcheck]), + %{healthy: true} = info <- Healthcheck.system_info() do + json(conn, info) + else + %{healthy: false} = info -> + service_unavailable(conn, info) - conn = - if info[:healthy] do - conn - else - Plug.Conn.put_status(conn, :service_unavailable) - end + _ -> + service_unavailable(conn, %{}) + end + end - json(conn, info) + defp service_unavailable(conn, info) do + conn + |> put_status(:service_unavailable) + |> json(info) end end |