♻️ Extract relay_url option
parent
0f092f7213
commit
dac223efde
|
@ -3,7 +3,8 @@ use std::error::Error;
|
|||
#[tokio::main]
|
||||
async fn main () -> Result <(), Box <dyn Error>> {
|
||||
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
|
||||
|
|
13
src/lib.rs
13
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 ([
|
||||
|
|
|
@ -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 <dyn Error>> {
|
||||
|
@ -74,7 +74,7 @@ pub async fn main (opt: Opt) -> Result <(), Box <dyn Error>> {
|
|||
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) => {
|
||||
|
|
Loading…
Reference in New Issue