diff --git a/crates/lox-distributor/src/main.rs b/crates/lox-distributor/src/main.rs index ff43253..91d3abb 100644 --- a/crates/lox-distributor/src/main.rs +++ b/crates/lox-distributor/src/main.rs @@ -20,7 +20,6 @@ use lox::{BridgeAuth, BridgeDb, OPENINV_LENGTH}; use rand::RngCore; use rdsys_backend::{proto::ResourceDiff, start_stream}; use serde::{Deserialize, Serialize}; -use serde_json; use serde_with::serde_as; use std::{ convert::Infallible, @@ -123,7 +122,6 @@ impl LoxServerContext { fn update_bridge(&self, bridgeline: BridgeLine) -> bool { let mut ba_obj = self.ba.lock().unwrap(); - let mut db_obj = self.db.lock().unwrap(); ba_obj.bridge_update(&bridgeline) } @@ -152,9 +150,9 @@ impl LoxServerContext { fn gen_invite(&self) -> Invite { let obj = self.db.lock().unwrap(); - return Invite { + Invite { invite: obj.invite(), - }; + } } fn open_inv(&self, req: open_invite::Request) -> open_invite::Response { @@ -233,11 +231,11 @@ async fn handle( .body(Body::from("Allow POST")) .unwrap()), _ => match (req.method(), req.uri().path()) { - (&Method::GET, "/invite") => Ok::<_, Infallible>(generate_invite(cloned_context)), - (&Method::GET, "/reachability") => { + (&Method::POST, "/invite") => Ok::<_, Infallible>(generate_invite(cloned_context)), + (&Method::POST, "/reachability") => { Ok::<_, Infallible>(send_reachability_cred(cloned_context)) } - (&Method::GET, "/pubkeys") => Ok::<_, Infallible>(send_keys(cloned_context)), + (&Method::POST, "/pubkeys") => Ok::<_, Infallible>(send_keys(cloned_context)), (&Method::POST, "/openreq") => Ok::<_, Infallible>({ let bytes = body::to_bytes(req.into_body()).await.unwrap(); verify_and_send_open_cred(bytes, cloned_context) @@ -286,10 +284,7 @@ async fn handle( fn generate_invite(context: LoxServerContext) -> Response
{ let invite = context.gen_invite(); let token = serde_json::to_string(&invite).unwrap(); - let mut resp = Response::new(Body::from(token)); - resp.headers_mut() - .insert("Access-Control-Allow-Origin", HeaderValue::from_static("*")); - resp + prepare_header(token) } // Return the serialized encrypted bridge table @@ -297,20 +292,13 @@ fn send_reachability_cred(context: LoxServerContext) -> Response { context.advance_days_TEST(85); // FOR TESTING ONLY let enc_table = context.encrypt_table(); let etable = EncBridgeTable { etable: enc_table }; - let mut resp = Response::new(Body::from(serde_json::to_string(&etable).unwrap())); - resp.headers_mut() - .insert("Access-Control-Allow-Origin", HeaderValue::from_static("*")); - resp + prepare_header(serde_json::to_string(&etable).unwrap()) } // Return the serialized pubkeys for the Bridge Authority fn send_keys(context: LoxServerContext) -> Response { let pubkeys = context.pubkeys(); - - let mut resp = Response::new(Body::from(serde_json::to_string(&pubkeys).unwrap())); - resp.headers_mut() - .insert("Access-Control-Allow-Origin", HeaderValue::from_static("*")); - resp + prepare_header(serde_json::to_string(&pubkeys).unwrap()) } fn verify_and_send_open_cred(request: Bytes, context: LoxServerContext) -> Response { @@ -417,7 +405,7 @@ async fn rdsys_bridge_parser( ) { tokio::select! { start_bridge_parser = parse_bridges(rdsys_tx, rx) => start_bridge_parser , - _ = kill.recv() => {println!("Shut down bridge_parser"); return}, + _ = kill.recv() => {println!("Shut down bridge_parser");}, } } @@ -427,7 +415,7 @@ async fn parse_bridges(rdsys_tx: mpsc::Sender