TwitterAPI: Return proper error when healthcheck is disabled

This commit is contained in:
Haelwenn (lanodan) Monnier 2023-09-24 22:52:41 +02:00
parent a94cf2ad4f
commit 2f6fc6a7ab
3 changed files with 6 additions and 2 deletions

View File

@ -0,0 +1 @@
TwitterAPI: Return proper error when healthcheck is disabled

View File

@ -345,13 +345,16 @@ defmodule Pleroma.Web.TwitterAPI.UtilController do
end end
def healthcheck(conn, _params) do def healthcheck(conn, _params) do
with true <- Config.get([:instance, :healthcheck]), with {:cfg, true} <- {:cfg, Config.get([:instance, :healthcheck])},
%{healthy: true} = info <- Healthcheck.system_info() do %{healthy: true} = info <- Healthcheck.system_info() do
json(conn, info) json(conn, info)
else else
%{healthy: false} = info -> %{healthy: false} = info ->
service_unavailable(conn, info) service_unavailable(conn, info)
{:cfg, false} ->
service_unavailable(conn, %{"error" => "Healthcheck disabled"})
_ -> _ ->
service_unavailable(conn, %{}) service_unavailable(conn, %{})
end end

View File

@ -106,7 +106,7 @@ defmodule Pleroma.Web.TwitterAPI.UtilControllerTest do
|> get("/api/pleroma/healthcheck") |> get("/api/pleroma/healthcheck")
|> json_response_and_validate_schema(503) |> json_response_and_validate_schema(503)
assert response == %{} assert response == %{"error" => "Healthcheck disabled"}
end end
test "returns 200 when healthcheck enabled and all ok", %{conn: conn} do test "returns 200 when healthcheck enabled and all ok", %{conn: conn} do