50 lines
789 B
Elixir
50 lines
789 B
Elixir
|
defmodule Podbox.Download.HttpError do
|
||
|
@moduledoc """
|
||
|
# #{inspect(__MODULE__)}
|
||
|
|
||
|
An HTTP error occurred while performing the request.
|
||
|
"""
|
||
|
|
||
|
use Splode.Error, fields: [:asset, :error, :method, :uri], class: :download
|
||
|
|
||
|
def message(error) when is_exception(error.error) do
|
||
|
inner_error =
|
||
|
error.error
|
||
|
|> Exception.message()
|
||
|
|> String.split("\n")
|
||
|
|> Enum.map_join("\n", &" #{&1}")
|
||
|
|
||
|
"""
|
||
|
#{@moduledoc}
|
||
|
|
||
|
## URI
|
||
|
|
||
|
#{error.uri}
|
||
|
|
||
|
## Error
|
||
|
|
||
|
#{inner_error}
|
||
|
"""
|
||
|
end
|
||
|
|
||
|
def message(error) do
|
||
|
inner_error =
|
||
|
error.error
|
||
|
|> inspect()
|
||
|
|> String.split("\n")
|
||
|
|> Enum.map_join("\n", &" #{&1}")
|
||
|
|
||
|
"""
|
||
|
#{@moduledoc}
|
||
|
|
||
|
## URI
|
||
|
|
||
|
#{error.uri}
|
||
|
|
||
|
## Error
|
||
|
|
||
|
#{inner_error}
|
||
|
"""
|
||
|
end
|
||
|
end
|