Packages

A simple somewhat opinionated consul config provider for elixir 1.9+ releases.

Current section

Files

Jump to
consul_config_provider lib client mojito.ex
Raw

lib/client/mojito.ex

defmodule ConsulConfigProvider.Client.Mojito do
@moduledoc "Http client using mojito"
@behaviour ConsulConfigProvider.Http
@compile {:inline, request: 1}
if match?({:module, _}, Code.ensure_compiled(Mojito)) do
@impl true
def request(request_opts) do
{:ok, _} = Application.ensure_all_started(:telemetry)
case Mojito.request(request_opts) do
{:ok, %Mojito.Response{body: body}} -> {:ok, body}
{:error, any} -> {:error, any}
end
end
else
@impl true
def request(_request_opts) do
{:error, :mojito_not_compiled}
end
end
end