Behaviour for HTTP client implementations.
This indirection lets tests or host applications swap out the HTTP layer when
needed. The default implementation is Tinkex.API.
Summary
Callbacks
@callback delete(path :: String.t(), opts :: keyword()) :: {:ok, map()} | {:error, Tinkex.Error.t()}
@callback get(path :: String.t(), opts :: keyword()) :: {:ok, map()} | {:error, Tinkex.Error.t()}
@callback post(path :: String.t(), body :: map(), opts :: keyword()) :: {:ok, map()} | {:error, Tinkex.Error.t()}
@callback put(path :: String.t(), body :: map(), opts :: keyword()) :: {:ok, map()} | {:error, Tinkex.Error.t()}