ptth/src/bin/ptth_server.rs

32 lines
918 B
Rust

use std::{
error::Error,
path::PathBuf,
};
use structopt::StructOpt;
#[derive (Debug, StructOpt)]
struct Opt {
#[structopt (long)]
file_server_root: Option <PathBuf>,
}
#[tokio::main]
async fn main () -> Result <(), Box <dyn Error>> {
use std::io::Read;
let config_file = {
let config_file_path = "config/ptth_server.toml";
let mut f = std::fs::File::open (config_file_path).unwrap_or_else (|_| panic! ("Can't open {:?}", config_file_path));
let mut buffer = vec! [0u8; 4096];
let bytes_read = f.read (&mut buffer).unwrap_or_else (|_| panic! ("Can't read {:?}", config_file_path));
buffer.truncate (bytes_read);
let config_s = String::from_utf8 (buffer).unwrap_or_else (|_| panic! ("Can't parse {:?} as UTF-8", config_file_path));
toml::from_str (&config_s).unwrap_or_else (|_| panic! ("Can't parse {:?} as TOML", config_file_path))
};
ptth::server::main (config_file, None).await
}