Filo.Error (Filo v0.2.0)

Copy Markdown View Source

A Hrana error: a human-readable message and a SQLite error code (e.g. "SQLITE_CONSTRAINT").

status is an optional HTTP status hint for the HTTP transports: an executor's open/1 can set it (e.g. 400 for a bad/missing shard, 503 at capacity) so a failed stream-open surfaces the right status instead of a blanket 500. It is purely a transport concern — encode/1 (the Hrana wire form) never includes it, and nil means "let the caller pick a default".

Summary

Functions

Encodes a Filo.Error into a Hrana Error map (the status hint is HTTP-only, not wire).

Types

t()

@type t() :: %Filo.Error{
  code: String.t() | nil,
  message: String.t(),
  status: pos_integer() | nil
}

Functions

encode(error)

@spec encode(t()) :: map()

Encodes a Filo.Error into a Hrana Error map (the status hint is HTTP-only, not wire).