summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKjetil Orbekk <kjetil.orbekk@gmail.com>2020-02-26 07:56:33 -0500
committerKjetil Orbekk <kjetil.orbekk@gmail.com>2020-02-26 07:56:33 -0500
commitb17a844f2d1b20882f57b50d1b7ffd9940f90fb7 (patch)
treec83fb70fd120a90ec5acda8c1659160e281a640b
parente4d0970c737026f4d54b7aece112fd20c4a15213 (diff)
Support customizable template dir and port
-rw-r--r--src/main.rs28
-rw-r--r--src/server.rs4
2 files changed, 25 insertions, 7 deletions
diff --git a/src/main.rs b/src/main.rs
index 13e4cd2..5fc638b 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -55,9 +55,6 @@ fn setup_logger() -> Result<(), fern::InitError> {
thread_id.hash(&mut hasher);
let thread_color = thread_colors[hasher.finish() as usize % thread_colors.len()];
- // if thread_id.find("ThreadId(") {
- // }
- // TODO: Make a random color based on the thread name.
out.finish(format_args!(
"[{}] \x1B[{}m{}@{}\x1B[0m {}",
colors.color(record.level()),
@@ -92,11 +89,23 @@ fn main() {
.help("Endpoint for this web server"),
)
.arg(
+ Arg::with_name("template_path")
+ .long("template_path")
+ .takes_value(true)
+ .help("Path to directory containing templates"),
+ )
+ .arg(
Arg::with_name("static_path")
.long("static_path")
.takes_value(true)
.help("Directory containing static files"),
)
+ .arg(
+ Arg::with_name("port")
+ .long("port")
+ .takes_value(true)
+ .help("Port to serve http user requests"),
+ )
.subcommand(
SubCommand::with_name("init")
.about("initialize database config")
@@ -135,11 +144,18 @@ fn main() {
setup_logger().expect("logger");
+
+ let static_path = matches.value_of("static_path").unwrap_or("./static");
+ let port: u16 = matches.value_of("port").unwrap_or("8000").parse().unwrap();
+
+ let default_base_url = format!("http://localhost:{}", port);
let base_url = matches
.value_of("base_url")
- .unwrap_or("http://localhost:8000");
+ .unwrap_or(&default_base_url);
- let static_path = matches.value_of("static_path").unwrap_or("./static");
+ let template_path = matches
+ .value_of("template_path")
+ .unwrap_or("./templates/");
let db_url = matches.value_of("database_url").unwrap();
let conn = PgConnection::establish(db_url).unwrap();
@@ -176,6 +192,6 @@ fn main() {
.expect("insert");
} else {
info!("Start server");
- pjournal::server::start(conn, db_url, base_url, static_path);
+ pjournal::server::start(conn, db_url, base_url, static_path, port, template_path);
}
}
diff --git a/src/server.rs b/src/server.rs
index 62ca2d1..83b2596 100644
--- a/src/server.rs
+++ b/src/server.rs
@@ -187,7 +187,7 @@ fn link_strava(params: State<Params>) -> Redirect {
))
}
-pub fn start(conn: diesel::PgConnection, db_url: &str, base_url: &str, static_path: &str) {
+pub fn start(conn: diesel::PgConnection, db_url: &str, base_url: &str, static_path: &str, port: u16, template_path: &str) {
let mut database_config = HashMap::new();
let mut databases = HashMap::new();
database_config.insert("url", Value::from(db_url));
@@ -202,7 +202,9 @@ pub fn start(conn: diesel::PgConnection, db_url: &str, base_url: &str, static_pa
let config = Config::build(Environment::Development)
.extra("databases", databases)
+ .extra("template_dir", template_path)
.secret_key(persistent_config.rocket_secret_key)
+ .port(port)
.finalize()
.unwrap();