Behaviour for Buble HTTP transports.
Applications normally use the default Buble.Transport.Req transport. Tests can
inject a small module implementing this behaviour through Buble.Client.new/1.
Summary
Callbacks
@callback request(Buble.Client.t(), atom(), String.t(), keyword()) :: {:ok, term()} | {:error, Buble.Error.t()}
@callback stream(Buble.Client.t(), atom(), String.t(), keyword()) :: {:ok, Enumerable.t()} | {:error, Buble.Error.t()}