forked from the-distro/ofborg
Get rabbitmq password from file instead of static string
This commit is contained in:
parent
9254a448b7
commit
aa70c3db6e
|
@ -35,7 +35,7 @@ pub struct RabbitMqConfig {
|
||||||
pub host: String,
|
pub host: String,
|
||||||
pub virtualhost: Option<String>,
|
pub virtualhost: Option<String>,
|
||||||
pub username: String,
|
pub username: String,
|
||||||
pub password: String,
|
pub password_file: PathBuf,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Serialize, Deserialize, Debug)]
|
#[derive(Serialize, Deserialize, Debug)]
|
||||||
|
@ -155,15 +155,17 @@ impl Config {
|
||||||
}
|
}
|
||||||
|
|
||||||
impl RabbitMqConfig {
|
impl RabbitMqConfig {
|
||||||
pub fn as_uri(&self) -> String {
|
pub fn as_uri(&self) -> Result<String, std::io::Error> {
|
||||||
format!(
|
let password = std::fs::read_to_string(&self.password_file)?;
|
||||||
|
let uri = format!(
|
||||||
"{}://{}:{}@{}/{}",
|
"{}://{}:{}@{}/{}",
|
||||||
if self.ssl { "amqps" } else { "amqp" },
|
if self.ssl { "amqps" } else { "amqp" },
|
||||||
self.username,
|
self.username,
|
||||||
self.password,
|
password,
|
||||||
self.host,
|
self.host,
|
||||||
self.virtualhost.clone().unwrap_or_else(|| "/".to_owned()),
|
self.virtualhost.clone().unwrap_or_else(|| "/".to_owned()),
|
||||||
)
|
);
|
||||||
|
Ok(uri)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -31,7 +31,7 @@ pub fn from_config(cfg: &RabbitMqConfig) -> Result<Connection, lapin::Error> {
|
||||||
client_properties: props,
|
client_properties: props,
|
||||||
..Default::default()
|
..Default::default()
|
||||||
};
|
};
|
||||||
task::block_on(Connection::connect(&cfg.as_uri(), opts))
|
task::block_on(Connection::connect(&cfg.as_uri()?, opts))
|
||||||
}
|
}
|
||||||
|
|
||||||
impl ChannelExt for Channel {
|
impl ChannelExt for Channel {
|
||||||
|
|
Loading…
Reference in a new issue