Behaviour for defining a HTTP client adapter to be used for XRPC.
@type error() :: {:error, integer(), map()} | {:error, term()}
@type result() :: success() | error()
@type success() :: {:ok, map()}
@callback get(url :: String.t(), opts :: keyword()) :: result()
@callback post(url :: String.t(), opts :: keyword()) :: result()