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 @@ def fetch_object_from_id(id, options \\ []) do
{:fetch_object, %Object{} = 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}} ->
Logger.error("Error while fetching #{id}: #{inspect(error)}")
{:error, error}
@ -352,6 +343,10 @@ def get_object(id) do
{:error, {:content_type, content_type}}
end
else
{:ok, %{status: 403}} ->
Instances.set_consistently_unreachable(id)
{:error, "Object fetch has been denied"}
{:ok, %{status: code}} when code in [404, 410] ->
{:error, {"Object has been deleted", id, code}}