use proxmox_backup::server::rest::*;
use proxmox_backup::auth_helpers::*;
+use failure::*;
use lazy_static::lazy_static;
use futures::future::Future;
fn main() {
+ if let Err(err) = run() {
+ eprintln!("Error: {}", err);
+ std::process::exit(-1);
+ }
+}
+
+fn run() -> Result<(), Error> {
+
if let Err(err) = syslog::init(
syslog::Facility::LOG_DAEMON,
log::LevelFilter::Info,
Some("proxmox-backup-api")) {
- eprintln!("unable to inititialize syslog: {}", err);
- std::process::exit(-1);
- }
+ bail!("unable to inititialize syslog - {}", err);
+ }
if let Err(err) = generate_auth_key() {
- eprintln!("unable to generate auth key: {}", err);
- std::process::exit(-1);
+ bail!("unable to generate auth key - {}", err);
}
let _ = private_auth_key(); // load with lazy_static
if let Err(err) = generate_csrf_key() {
- eprintln!("unable to generate csrf key: {}", err);
- std::process::exit(-1);
+ bail!("unable to generate csrf key - {}", err);
}
let _ = csrf_secret(); // load with lazy_static
.serve(rest_server)
.map_err(|e| eprintln!("server error: {}", e));
-
// Run this server for... forever!
hyper::rt::run(server);
+
+ Ok(())
}