Packages
step_flow
0.0.18
1.9.0-rc2
1.9.0-rc1
1.9.0-rc0
1.8.2
1.8.1
1.8.1-rc8
1.8.1-rc7
1.8.1-rc6
1.8.1-rc5
1.8.1-rc4
1.8.1-rc3
1.8.1-rc2
1.8.1-rc1
1.8.1-rc0
1.8.0
1.8.0-rc3
1.8.0-rc2
1.8.0-rc1
1.8.0-rc0
1.7.3
1.7.3-rc4
1.7.3-rc3
1.7.3-rc2
1.7.3-rc1
1.7.3-rc0
1.7.2
1.7.2-rc4
1.7.2-rc3
1.7.2-rc2
1.7.2-rc1
1.7.2-rc0
1.7.1
1.7.0
1.7.0-rc1
1.7.0-rc0
1.6.1
1.6.1-rc1
1.6.1-rc0
1.6.0
1.6.0-rc9
1.6.0-rc8
1.6.0-rc7
1.6.0-rc6
1.6.0-rc5
1.6.0-rc4
1.6.0-rc3
1.6.0-rc20
1.6.0-rc2
1.6.0-rc19
1.6.0-rc18
1.6.0-rc17
1.6.0-rc16
1.6.0-rc15
1.6.0-rc14
1.6.0-rc13
1.6.0-rc12
1.6.0-rc11
1.6.0-rc10
1.6.0-rc1
1.5.0
1.5.0-rc1
1.4.2-rc2
1.4.2-rc1
1.4.1
1.4.1-rc1
1.4.0
1.4.0-rc4
1.4.0-rc3
1.4.0-rc2
1.4.0-rc1
1.3.1
1.3.0
1.3.0-rc
1.2.0
1.1.0
1.0.0
1.0.0-rc9
1.0.0-rc8
1.0.0-rc7
1.0.0-rc6
1.0.0-rc5
1.0.0-rc1
0.2.13
0.2.12
0.2.11
0.2.10
0.2.9
0.2.8
0.2.7
0.2.6
0.2.5
0.2.4
0.2.3
0.2.2
0.2.1
0.2.0
0.1.8
0.1.7
0.1.6
0.1.5
0.1.4
0.1.3
0.1.2
0.1.1
0.1.0
0.0.24
0.0.23
0.0.22
0.0.21
0.0.20
0.0.19
0.0.18
0.0.17
0.0.16
0.0.15
0.0.14
0.0.13
0.0.12
0.0.11
0.0.10
0.0.9
0.0.8
0.0.7
0.0.6
0.0.4
0.0.3
0.0.2
0.0.1
Step flow manager for Elixir applications
Current section
Files
Jump to
Current section
Files
lib/step_flow/amqp/helpers.ex
defmodule StepFlow.Amqp.Helpers do
require Logger
@moduledoc """
Helpers for AMQP.
"""
@doc """
Get AMQP URL from the configuration or environment variables.
- `AMQP_HOSTNAME` Setup the hostname of the RabbitMQ service
- `AMQP_USERNAME` Setup the username of the RabbitMQ service
- `AMQP_PASSWORD` Setup the password of the RabbitMQ service
- `AMQP_PORT` Setup the port of the RabbitMQ service
- `AMQP_VHOST` Setup the virtual host of the RabbitMQ service
"""
def get_amqp_connection_url do
hostname = System.get_env("AMQP_HOSTNAME") || Application.get_env(:amqp, :hostname)
username = System.get_env("AMQP_USERNAME") || Application.get_env(:amqp, :username)
password = System.get_env("AMQP_PASSWORD") || Application.get_env(:amqp, :password)
virtual_host = get_amqp_virtual_host()
port = get_amqp_port()
Logger.warn("#{__MODULE__}: Connecting with hostname: #{hostname}")
url =
"amqp://" <> username <> ":" <> password <> "@" <> hostname <> ":" <> port <> virtual_host
Logger.warn("#{__MODULE__}: Connecting with url: #{url}")
url
end
defp get_amqp_port do
System.get_env("AMQP_PORT") || Application.get_env(:amqp, :port) ||
5672
|> port_format
end
defp get_amqp_virtual_host do
virtual_host = System.get_env("AMQP_VHOST") || Application.get_env(:amqp, :virtual_host) || ""
case virtual_host do
"" -> ""
_ -> "/" <> virtual_host
end
end
defp port_format(port) when is_integer(port) do
Integer.to_string(port)
end
defp port_format(port) do
port
end
end