diff --git a/src/bin/server.rs b/src/bin/server.rs index b4aedb4..2a2a338 100644 --- a/src/bin/server.rs +++ b/src/bin/server.rs @@ -3,7 +3,8 @@ use std::error::Error; #[tokio::main] async fn main () -> Result <(), Box > { let opt = ptth::server::Opt { - root: "/home/user".into (), + relay_url: "http://127.0.0.1:4000".into (), + file_server_root: "/home/user".into (), }; ptth::server::main (opt).await diff --git a/src/lib.rs b/src/lib.rs index e7feeec..62d4871 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -33,13 +33,18 @@ mod tests { // Spawn the root task rt.block_on (async { + let relay_url = "http://127.0.0.1:4000"; + spawn (async { relay::main ().await.unwrap (); }); - spawn (async { + let relay_url_2 = relay_url.into (); + + spawn (async move { let opt = server::Opt { - root: ".".into (), + relay_url: relay_url_2, + file_server_root: ".".into (), }; server::main (opt).await.unwrap (); @@ -47,12 +52,12 @@ mod tests { let client = Client::new (); - let resp = client.get ("http://127.0.0.1:4000/relay_up_check") + let resp = client.get (&format! ("{}/relay_up_check", relay_url)) .send ().await.unwrap ().bytes ().await.unwrap (); assert_eq! (resp, "Relay is up\n"); - let resp = client.get ("http://127.0.0.1:4000/http_request/alien_wildlands/COPYING") + let resp = client.get (&format! ("{}/http_request/alien_wildlands/COPYING", relay_url)) .send ().await.unwrap ().bytes ().await.unwrap (); assert_eq! (blake3::hash (&resp), blake3::Hash::from ([ diff --git a/src/server/mod.rs b/src/server/mod.rs index 8de8fc0..05cb8f4 100644 --- a/src/server/mod.rs +++ b/src/server/mod.rs @@ -17,7 +17,6 @@ use crate::http_serde; mod file_server; -const RELAY_URL: &str = "http://127.0.0.1:4000"; const SERVER_NAME: &str = "alien_wildlands"; async fn handle_req_resp ( @@ -41,10 +40,10 @@ async fn handle_req_resp ( let (req_id, parts) = (wrapped_req.id, wrapped_req.req); - let response = file_server::serve_all (&opt.root, parts).await; + let response = file_server::serve_all (&opt.file_server_root, parts).await; let mut resp_req = client - .post (&format! ("{}/http_response/{}", RELAY_URL, req_id)) + .post (&format! ("{}/http_response/{}", opt.relay_url, req_id)) .header (crate::PTTH_MAGIC_HEADER, base64::encode (rmp_serde::to_vec (&response.parts).unwrap ())); if let Some (body) = response.body { @@ -60,7 +59,8 @@ async fn handle_req_resp ( } pub struct Opt { - pub root: PathBuf, + pub relay_url: String, + pub file_server_root: PathBuf, } pub async fn main (opt: Opt) -> Result <(), Box > { @@ -74,7 +74,7 @@ pub async fn main (opt: Opt) -> Result <(), Box > { delay_for (Duration::from_millis (backoff_delay)).await; } - let req_req = client.get (&format! ("{}/http_listen/{}", RELAY_URL, SERVER_NAME)); + let req_req = client.get (&format! ("{}/http_listen/{}", opt.relay_url, SERVER_NAME)); let req_resp = match req_req.send ().await { Err (e) => {