Actually parse address
This commit is contained in:
parent
c33e305136
commit
ab603643c9
2 changed files with 15 additions and 5 deletions
|
@ -248,18 +248,20 @@ impl Mutation {}
|
||||||
|
|
||||||
type Schema = juniper::RootNode<'static, Query, Mutation>;
|
type Schema = juniper::RootNode<'static, Query, Mutation>;
|
||||||
|
|
||||||
pub fn server(databases: Vec<DBLog>) {
|
pub fn server(bind: &str, port: u16, databases: Vec<DBLog>) {
|
||||||
let schema = Schema::new(Query, Mutation);
|
let schema = Schema::new(Query, Mutation);
|
||||||
let state = warp::any().map(move || Context {
|
let state = warp::any().map(move || Context {
|
||||||
databases: databases.clone().into_iter().map(from_db).collect(),
|
databases: databases.clone().into_iter().map(from_db).collect(),
|
||||||
});
|
});
|
||||||
let graphql_filter = juniper_warp::make_graphql_filter(schema, state.boxed());
|
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::serve(
|
||||||
warp::get2()
|
warp::get2()
|
||||||
.and(warp::path("graphiql"))
|
.and(warp::path("graphiql"))
|
||||||
.and(juniper_warp::graphiql_filter("/graphql"))
|
.and(juniper_warp::graphiql_filter("/graphql"))
|
||||||
.or(warp::path("graphql").and(graphql_filter)),
|
.or(warp::path("graphql").and(graphql_filter)),
|
||||||
)
|
)
|
||||||
.run(([127, 0, 0, 1], 8080));
|
.run(std::net::SocketAddr::new(bind.parse().unwrap(), port));
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,14 +21,22 @@ fn main() -> std::io::Result<()> {
|
||||||
.required(true)
|
.required(true)
|
||||||
.short("b")
|
.short("b")
|
||||||
.help("Address to bind to")
|
.help("Address to bind to")
|
||||||
.default_value("127.0.0.1:9743")
|
.default_value("127.0.0.1"),
|
||||||
.index(2),
|
)
|
||||||
|
.arg(
|
||||||
|
Arg::with_name("port")
|
||||||
|
.required(true)
|
||||||
|
.short("p")
|
||||||
|
.help("Port to listen on")
|
||||||
|
.default_value("8080"),
|
||||||
)
|
)
|
||||||
.get_matches();
|
.get_matches();
|
||||||
|
|
||||||
let basedir = cmd.value_of("basedir").unwrap();
|
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);
|
let logs = scan_dbs(basedir);
|
||||||
println!("Loaded data for {} workspaces", logs.len());
|
println!("Loaded data for {} workspaces", logs.len());
|
||||||
server(logs);
|
server(addr, port, logs);
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
Reference in a new issue