Remove Fetcher.fetch_object_from_id!/2

It was only being called once and can be replaced with a case statement.
This commit is contained in:
Mark Felder 2023-12-26 14:20:33 -05:00 committed by Floatingghost
parent f8a53fbe2f
commit c241b5b09f
2 changed files with 9 additions and 23 deletions

View file

@ -178,7 +178,10 @@ def normalize(ap_id, options) when is_binary(ap_id) do
ap_id ap_id
Keyword.get(options, :fetch) -> Keyword.get(options, :fetch) ->
Fetcher.fetch_object_from_id!(ap_id, options) case Fetcher.fetch_object_from_id(ap_id, options) do
{:ok, object} -> object
_ -> nil
end
true -> true ->
get_cached_by_ap_id(ap_id) get_cached_by_ap_id(ap_id)

View file

@ -158,9 +158,11 @@ def fetch_object_from_id(id, options \\ []) do
{:error, "URI Scheme Invalid"} {:error, "URI Scheme Invalid"}
{:transmogrifier, {:error, {:reject, e}}} -> {:transmogrifier, {:error, {:reject, e}}} ->
Logger.info("Rejected #{id} while fetching: #{inspect(e)}")
{:reject, e} {:reject, e}
{:transmogrifier, {:reject, e}} -> {:transmogrifier, {:reject, e}} ->
Logger.info("Rejected #{id} while fetching: #{inspect(e)}")
{:reject, e} {:reject, e}
{:transmogrifier, _} = e -> {:transmogrifier, _} = e ->
@ -176,13 +178,15 @@ def fetch_object_from_id(id, options \\ []) do
{:ok, object} {:ok, object}
{:fetch, {:error, error}} -> {:fetch, {:error, error}} ->
Logger.error("Error while fetching #{id}: #{inspect(error)}")
{:error, error} {:error, error}
{:reject, reason} -> {:reject, reason} ->
{:reject, reason} {:reject, reason}
e -> e ->
e Logger.error("Error while fetching #{id}: #{inspect(e)}")
{:error, e}
end end
end end
@ -199,27 +203,6 @@ defp prepare_activity_params(data) do
|> Maps.put_if_present("bcc", data["bcc"]) |> Maps.put_if_present("bcc", data["bcc"])
end end
@doc "Identical to `fetch_object_from_id/2` but just directly returns the object or on error `nil`"
def fetch_object_from_id!(id, options \\ []) do
with {:ok, object} <- fetch_object_from_id(id, options) do
object
else
{:error, %Tesla.Mock.Error{}} ->
nil
{:error, {"Object has been deleted", _id, _code}} ->
nil
{:reject, reason} ->
Logger.debug("Rejected #{id} while fetching: #{inspect(reason)}")
nil
e ->
Logger.error("Error while fetching #{id}: #{inspect(e)}")
nil
end
end
defp make_signature(id, date) do defp make_signature(id, date) do
uri = URI.parse(id) uri = URI.parse(id)