From ab603643c97fe7037bbe044d450497dc99958b94 Mon Sep 17 00:00:00 2001 From: Hamcha Date: Fri, 24 Jan 2020 16:51:05 +0100 Subject: [PATCH] Actually parse address --- backend/graphql.rs | 6 ++++-- backend/main.rs | 14 +++++++++++--- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/backend/graphql.rs b/backend/graphql.rs index d2a98ac..4c195e5 100644 --- a/backend/graphql.rs +++ b/backend/graphql.rs @@ -248,18 +248,20 @@ impl Mutation {} type Schema = juniper::RootNode<'static, Query, Mutation>; -pub fn server(databases: Vec) { +pub fn server(bind: &str, port: u16, databases: Vec) { let schema = Schema::new(Query, Mutation); let state = warp::any().map(move || Context { databases: databases.clone().into_iter().map(from_db).collect(), }); let graphql_filter = juniper_warp::make_graphql_filter(schema, state.boxed()); + println!("Starting server at {}:{}\n\nEndpoints:\n graphql: http://{}:{}/graphql\n graphiql: http://{}:{}/graphiql", bind, port, bind, port, bind, port); + warp::serve( warp::get2() .and(warp::path("graphiql")) .and(juniper_warp::graphiql_filter("/graphql")) .or(warp::path("graphql").and(graphql_filter)), ) - .run(([127, 0, 0, 1], 8080)); + .run(std::net::SocketAddr::new(bind.parse().unwrap(), port)); } diff --git a/backend/main.rs b/backend/main.rs index c582638..c6cde2f 100644 --- a/backend/main.rs +++ b/backend/main.rs @@ -21,14 +21,22 @@ fn main() -> std::io::Result<()> { .required(true) .short("b") .help("Address to bind to") - .default_value("127.0.0.1:9743") - .index(2), + .default_value("127.0.0.1"), + ) + .arg( + Arg::with_name("port") + .required(true) + .short("p") + .help("Port to listen on") + .default_value("8080"), ) .get_matches(); let basedir = cmd.value_of("basedir").unwrap(); + let addr = cmd.value_of("bind").unwrap(); + let port = cmd.value_of("port").unwrap().parse().unwrap(); let logs = scan_dbs(basedir); println!("Loaded data for {} workspaces", logs.len()); - server(logs); + server(addr, port, logs); Ok(()) }