Current section

Files

Jump to
firecrawl lib firecrawl error.ex
Raw

lib/firecrawl/error.ex

defmodule Firecrawl.Error do
@moduledoc """
Exception raised when the Firecrawl API returns an error response (HTTP 4xx/5xx).
## Fields
* `:status` - The HTTP status code
* `:body` - The decoded response body (typically a map with `"error"` key)
"""
defexception [:status, :body]
@type t :: %__MODULE__{
status: pos_integer(),
body: term()
}
@impl true
def message(%__MODULE__{status: status, body: body}) when is_map(body) do
error_msg =
case body["error"] || body["message"] do
msg when is_binary(msg) -> msg
_ -> inspect(body)
end
"Firecrawl API error (HTTP #{status}): #{error_msg}"
end
def message(%__MODULE__{status: status, body: body}) do
"Firecrawl API error (HTTP #{status}): #{inspect(body)}"
end
end