summaryrefslogtreecommitdiffstats
path: root/src/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs115
1 files changed, 0 insertions, 115 deletions
diff --git a/src/main.rs b/src/main.rs
deleted file mode 100644
index 80e6ec9..0000000
--- a/src/main.rs
+++ /dev/null
@@ -1,115 +0,0 @@
-#![allow(warnings)]
-
-extern crate ipfs_api;
-extern crate chrono;
-extern crate mime;
-extern crate futures;
-extern crate serde;
-extern crate serde_json;
-extern crate uuid;
-extern crate clap;
-extern crate toml;
-extern crate config;
-extern crate hyper;
-extern crate env_logger;
-extern crate itertools;
-extern crate xdg;
-extern crate handlebars;
-extern crate web_view;
-extern crate actix_rt;
-extern crate actix_web;
-extern crate failure;
-extern crate pidlock;
-
-#[macro_use] extern crate anyhow;
-#[macro_use] extern crate is_match;
-#[macro_use] extern crate serde_derive;
-#[macro_use] extern crate log;
-#[macro_use] extern crate tokio;
-#[macro_use] extern crate add_getters_setters;
-#[macro_use] extern crate structopt;
-
-mod cli;
-mod configuration;
-mod gui;
-mod model;
-mod middleware;
-mod server;
-mod types;
-mod version;
-
-use std::collections::BTreeMap;
-use std::str::FromStr;
-use std::ops::Deref;
-use std::sync::Arc;
-use std::path::PathBuf;
-
-use chrono::NaiveDateTime;
-use futures::future::Future;
-use futures::future::FutureExt;
-use futures::future::TryFutureExt;
-use serde_json::to_string_pretty as serde_json_to_string_pretty;
-use serde_json::from_str as serde_json_from_str;
-use anyhow::Result;
-use anyhow::Error;
-use env_logger::Env;
-
-use crate::cli::*;
-use crate::configuration::Configuration;
-use crate::model::Model;
-use crate::middleware::Middleware;
-use crate::types::block::Block;
-use crate::types::content::Content;
-use crate::types::payload::Payload;
-use crate::types::util::IPFSHash;
-use crate::types::util::IPNSHash;
-use crate::types::util::MimeType;
-use crate::types::util::Timestamp;
-use crate::types::util::Version;
-
-use std::process::exit;
-
-#[actix_rt::main]
-async fn main() -> Result<()> {
- let cli = cli()?;
- let _ = env_logger::from_env(Env::default().default_filter_or("info")).init();
- debug!("Logger initialized");
-
- let config_file_name = PathBuf::from("distrox.toml");
- let config: Configuration = {
- let configfile = xdg::BaseDirectories::with_prefix("distrox")?
- .find_config_file(&config_file_name)
- .ok_or_else(|| anyhow!("No configuration found"))?;
-
- let configstr = ::std::fs::read_to_string(&configfile)?;
- ::toml::from_str(&configstr)?
- };
-
- let port = cli.port().unwrap_or_else(|| *config.get_app_port());
- let adr = format!("127.0.0.1:{}", port);
-
- let mut server_lock = crate::server::mk_lock();
- let server_running = crate::server::is_running(&server_lock);
- let start_server = crate::server::do_start(&cli);
-
- match (server_running, start_server) {
- (true, false) => crate::gui::run_gui(adr),
- (false, false) => {
- // fork()
- info!("Spawning server thread...");
- let path = std::env::current_exe()?;
- let mut child = std::process::Command::new(path).arg("server").spawn()?;
- let r = crate::gui::run_gui(adr);
- child.kill()?;
- r
- },
-
- (false, true) => crate::server::run_server(config, server_lock, adr).await,
-
- (true, true) => {
- info!("Server is already running. Doing nothing.");
- return Ok(())
- },
- }
-}
-