Behaviour implemented by short-link providers.
Summary
Types
@type error() :: %{kind: error_kind(), reason: term()}
@type error_kind() :: :temporary | :permanent
Callbacks
@callback create_link(DripDrop.ShortLinks.Request.t(), keyword()) :: {:ok, DripDrop.ShortLinks.Result.t()} | {:error, error()}