amqp_worker 0.5.1

AMQP Worker to listen and provide trait to process message
Documentation
use std::env;

macro_rules! get_env_value {
  ($key:expr, $default:expr) => {
    match env::var($key) {
      Ok(value) => value,
      _ => $default.to_string(),
    }
  };
}

pub fn get_amqp_tls() -> bool {
  let value = get_env_value!("AMQP_TLS", "true");
  match value.as_str() {
    "true" | "1" | "True" | "TRUE" => true,
    _ => false,
  }
}

pub fn get_amqp_hostname() -> String {
  get_env_value!("AMQP_HOSTNAME", "127.0.0.1")
}

pub fn get_amqp_port() -> u16 {
  let value = get_env_value!("AMQP_PORT", "5672");
  match value.parse::<u16>() {
    Ok(value) => value,
    _ => 5672,
  }
}

pub fn get_amqp_username() -> String {
  get_env_value!("AMQP_USERNAME", "guest")
}

pub fn get_amqp_password() -> String {
  get_env_value!("AMQP_PASSWORD", "guest")
}

pub fn get_amqp_vhost() -> String {
  get_env_value!("AMQP_VHOST", "/")
}

pub fn get_amqp_queue() -> String {
  get_env_value!("AMQP_QUEUE", "job_undefined")
}

pub fn get_amqp_completed_queue() -> String {
  get_amqp_queue() + "_completed"
}

pub fn get_amqp_error_queue() -> String {
  get_amqp_queue() + "_error"
}

pub fn get_backend_hostname() -> String {
  get_env_value!("BACKEND_HOSTNAME", "http://127.0.0.1:4000/api")
}

pub fn get_backend_username() -> String {
  get_env_value!("BACKEND_USERNAME", "")
}

pub fn get_backend_password() -> String {
  get_env_value!("BACKEND_PASSWORD", "")
}