lib/ex_rabbitmq_admin.ex

defmodule ExRabbitMQAdmin do
  @moduledoc """
  Default module for the RabbitMQ admin client.

  ### Configuration

  This module uses the `ExRabbitMQAdmin.Client` macro, and can be configured
  in `config.exs`.

      # config.ex
      config :ex_rabbitmq_admin, ExRabbitMQAdmin,
        base_url: "https://rabbitmq.example.com:15672",
        username: "guest",
        password: "guest"


  ### Examples

  * Create a client, add basic auth by reading default values from config and
    list all virtual hosts running in the RabbitMQ cluster.

        iex> ExRabbitMQAdmin.client()
             |> ExRabbitMQAdmin.add_basic_auth_middleware()
             |> ExRabbitMQAdmin.Vhost.list_vhosts()
        {:ok, %Tesla.Env{status: 200, body: [...]}}
  """

  use ExRabbitMQAdmin.Client,
    otp_app: :ex_rabbitmq_admin
end