diff --git a/src/main.rs b/src/main.rs index b230641..eff78a4 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,32 +1,9 @@ -use std::env; +mod routes; +mod sbot; -use rocket::{get, launch, routes}; -use golgi::{sbot::Keystore, Sbot}; +use rocket::{launch, routes}; -async fn init_sbot() -> Result { - let go_sbot_port = env::var("GO_SBOT_PORT").unwrap_or_else(|_| "8021".to_string()); - - let keystore = Keystore::GoSbot; - let ip_port = Some(format!("127.0.0.1:{}", go_sbot_port)); - let net_id = None; - - Sbot::init(keystore, ip_port, net_id) - .await - .map_err(|e| e.to_string()) -} - -async fn whoami() -> Result { - let mut sbort = init_sbot().await?; - sbort.whoami().await.map_err(|e| e.to_string()) -} - -#[get("/")] -async fn home() -> String { - match whoami().await { - Ok(id) => id, - Err(e) => format!("whoami call failed: {}", e), - } -} +use crate::routes::*; #[launch] async fn rocket() -> _ { diff --git a/src/routes.rs b/src/routes.rs new file mode 100644 index 0000000..fad0116 --- /dev/null +++ b/src/routes.rs @@ -0,0 +1,11 @@ +use rocket::get; + +use crate::sbot; + +#[get("/")] +pub async fn home() -> String { + match sbot::whoami().await { + Ok(id) => id, + Err(e) => format!("whoami call failed: {}", e), + } +} diff --git a/src/sbot.rs b/src/sbot.rs new file mode 100644 index 0000000..2e7939d --- /dev/null +++ b/src/sbot.rs @@ -0,0 +1,22 @@ +use std::env; + +use golgi::{sbot::Keystore, Sbot}; + + +pub async fn init_sbot() -> Result { + let go_sbot_port = env::var("GO_SBOT_PORT").unwrap_or_else(|_| "8021".to_string()); + + let keystore = Keystore::GoSbot; + let ip_port = Some(format!("127.0.0.1:{}", go_sbot_port)); + let net_id = None; + + Sbot::init(keystore, ip_port, net_id) + .await + .map_err(|e| e.to_string()) +} + +pub async fn whoami() -> Result { + let mut sbort = init_sbot().await?; + sbort.whoami().await.map_err(|e| e.to_string()) +} +