Consolidate the HTTP status code checking into the private get_object/1

This commit is contained in:
Mark Felder 2023-12-26 16:05:28 -05:00 committed by Floatingghost
parent 4c29366fe5
commit 4ff22a409a

View file

@ -181,15 +181,6 @@ defmodule Pleroma.Object.Fetcher do
{:fetch_object, %Object{} = object} -> {:fetch_object, %Object{} = object} ->
{:ok, object} {:ok, object}
{:fetch, {:error, {:ok, %Tesla.Env{status: 403}}}} ->
Instances.set_consistently_unreachable(id)
Logger.error(
"Error while fetching #{id}: HTTP 403 likely due to instance block rejecting the signed fetch."
)
{:error, "Object fetch has been denied"}
{:fetch, {:error, error}} -> {:fetch, {:error, error}} ->
Logger.error("Error while fetching #{id}: #{inspect(error)}") Logger.error("Error while fetching #{id}: #{inspect(error)}")
{:error, error} {:error, error}
@ -352,6 +343,10 @@ defmodule Pleroma.Object.Fetcher do
{:error, {:content_type, content_type}} {:error, {:content_type, content_type}}
end end
else else
{:ok, %{status: 403}} ->
Instances.set_consistently_unreachable(id)
{:error, "Object fetch has been denied"}
{:ok, %{status: code}} when code in [404, 410] -> {:ok, %{status: code}} when code in [404, 410] ->
{:error, {"Object has been deleted", id, code}} {:error, {"Object has been deleted", id, code}}