error logging

This commit is contained in:
Inhji 2023-08-21 19:15:57 +02:00
parent 153cb6d4cd
commit c9a399a0a7
1 changed files with 47 additions and 17 deletions

View File

@ -15,7 +15,7 @@ defmodule PlugMicropub do
@doc false
def init(opts) do
logging =
logging =
Keyword.get(opts, :logging) || false
handler =
@ -40,6 +40,7 @@ defmodule PlugMicropub do
with {:ok, access_token, conn} <- get_access_token(conn),
{:ok, action, conn} <- get_action(conn) do
Logger.info("Micropub: Handling action [#{action}]")
Logger.info("Micropub: Request Body #{inspect(conn.body_params)}")
handle_action(action, access_token, conn)
else
error -> send_error(conn, error)
@ -49,7 +50,7 @@ defmodule PlugMicropub do
get "/" do
with {:ok, access_token, conn} <- get_access_token(conn),
{:ok, query} <- get_query(conn) do
Logger.info("Micropub: Handling query [#{query}]")
Logger.info("Micropub: Handling query [#{query}]")
handle_query(query, access_token, conn)
else
error -> send_error(conn, error)
@ -60,6 +61,7 @@ defmodule PlugMicropub do
handler = conn.private[:plug_micropub][:handler]
Logger.info("Micropub: Handling media")
with {:ok, access_token, conn} <- get_access_token(conn),
{:ok, file} <- get_file(conn),
{:ok, url} <- handler.handle_media(file, access_token) do
@ -177,7 +179,9 @@ defmodule PlugMicropub do
|> put_resp_header("location", url)
|> send_resp(code, "")
else
error -> send_error(conn, error)
error ->
Logger.warning("Micropub: Error while handling create: #{inspect(error)}")
send_error(conn, error)
end
end
@ -188,9 +192,13 @@ defmodule PlugMicropub do
with "application/json" <- content_type,
{url, properties} when is_binary(url) <- Map.pop(conn.body_params, "url"),
{:ok, replace, add, delete} <- parse_update_properties(properties),
do: do_update(conn, access_token, url, replace, add, delete),
else: (_ -> send_error(conn, {:error, :invalid_request}))
{:ok, replace, add, delete} <- parse_update_properties(properties) do
do_update(conn, access_token, url, replace, add, delete)
else
error ->
Logger.warning("Micropub: Error while handling update: #{inspect(error)}")
send_error(conn, {:error, :invalid_request})
end
end
defp handle_action(:delete, access_token, conn) do
@ -215,8 +223,12 @@ defmodule PlugMicropub do
handler = conn.private[:plug_micropub][:handler]
case handler.handle_config_query(access_token) do
{:ok, content} -> send_content(conn, content)
error -> send_error(conn, error)
{:ok, content} ->
send_content(conn, content)
error ->
Logger.warning("Micropub: Error while handling config: #{inspect(error)}")
send_error(conn, error)
end
end
@ -226,17 +238,25 @@ defmodule PlugMicropub do
handler = conn.private[:plug_micropub][:handler]
case handler.handle_category_query(access_token) do
{:ok, content} -> send_content(conn, content)
error -> send_error(conn, error)
{:ok, content} ->
send_content(conn, content)
error ->
Logger.warning("Micropub: Error while handling category: #{inspect(error)}")
send_error(conn, error)
end
end
defp handle_query(:source, access_token, conn) do
Logger.info("Micropub: Handle source query")
with {:ok, url} <- Map.fetch(conn.query_params, "url"),
do: do_source_query(conn, access_token, url),
else: (_ -> send_error(conn, {:error, :invalid_request}))
with {:ok, url} <- Map.fetch(conn.query_params, "url") do
do_source_query(conn, access_token, url)
else
_ ->
Logger.warning("Micropub: Error while handling source: #{inspect(error)}")
send_error(conn, {:error, :invalid_request})
end
end
defp handle_query(:"syndicate-to", access_token, conn) do
@ -245,8 +265,12 @@ defmodule PlugMicropub do
handler = conn.private[:plug_micropub][:handler]
case handler.handle_syndicate_to_query(access_token) do
{:ok, content} -> send_content(conn, content)
error -> send_error(conn, error)
{:ok, content} ->
send_content(conn, content)
error ->
Logger.warning("Micropub: Error while handling syndicate-to: #{inspect(error)}")
send_error(conn, error)
end
end
@ -256,8 +280,12 @@ defmodule PlugMicropub do
handler = conn.private[:plug_micropub][:handler]
case handler.handle_channel_query(access_token) do
{:ok, content} -> send_content(conn, content)
error -> send_error(conn, error)
{:ok, content} ->
send_content(conn, content)
error ->
Logger.warning("Micropub: Error while handling channel: #{inspect(error)}")
send_error(conn, error)
end
end
@ -347,6 +375,7 @@ defmodule PlugMicropub do
{:ok, properties} when is_map(properties) <- Map.fetch(params, "properties") do
properties = Map.new(properties)
Logger.info("Micropub: Parsed properties #{inspect(properties)}")
{:ok, type, properties}
else
_ -> {:error, :invalid_request}
@ -360,6 +389,7 @@ defmodule PlugMicropub do
|> Enum.map(fn {k, v} -> {k, List.wrap(v)} end)
|> Map.new()
Logger.info("Micropub: Parsed properties #{inspect(properties)}")
{:ok, type, properties}
else
_ -> {:error, :invalid_request}