Packages

Official Elixir SDK for the Unsent API - Send transactional emails with ease

Current section

Files

Jump to
unsent lib unsent http_error.ex
Raw

lib/unsent/http_error.ex

defmodule Unsent.HTTPError do
@moduledoc """
Exception raised when an HTTP request fails.
"""
defexception [:status_code, :error, :method, :path, :message]
@impl true
def exception(%{status_code: status_code, error: error, method: method, path: path}) do
code = Map.get(error, "code", "UNKNOWN_ERROR")
error_message = Map.get(error, "message", "")
%__MODULE__{
status_code: status_code,
error: error,
method: method,
path: path,
message: "#{method} #{path} -> #{status_code} #{code}: #{error_message}"
}
end
end