From 75149668ef2e93edff6909e4563081b0e03c1189 Mon Sep 17 00:00:00 2001 From: Bel LaPointe Date: Mon, 27 Mar 2023 17:53:56 -0600 Subject: [PATCH] GUI can now send to say as concat string --- src/config.rs | 9 +++++++-- src/gui.rs | 24 +++++++++++++++++------- src/testdata/http.go | 2 +- 3 files changed, 25 insertions(+), 10 deletions(-) diff --git a/src/config.rs b/src/config.rs index d5897d0..cf02b4e 100644 --- a/src/config.rs +++ b/src/config.rs @@ -45,7 +45,8 @@ pub struct GUI { #[derive(Serialize, Deserialize, Debug, Clone)] pub struct GUIFeedback { - pub url: Option, + pub url_read: Option, + pub url_say: Option, } #[derive(Serialize, Deserialize, Debug)] @@ -131,7 +132,11 @@ fn build_config_std() -> Config { }, }, feedback: GUIFeedback{ - url: match env::var("INPUT_GUI_FEEDBACK_URL") { + url_read: match env::var("INPUT_GUI_FEEDBACK_URL_READ") { + Ok(url) => Some(url), + Err(_) => None, + }, + url_say: match env::var("INPUT_GUI_FEEDBACK_URL_SAY") { Ok(url) => Some(url), Err(_) => None, }, diff --git a/src/gui.rs b/src/gui.rs index 6ee9add..e107692 100644 --- a/src/gui.rs +++ b/src/gui.rs @@ -407,19 +407,17 @@ impl Feedback { }, _ => {}, }; - /* match self.read_from_client() { Some(msg) if msg.len() > 0 => { self.write_from_client(msg.clone()); }, _ => {}, }; - */ } } fn read_from_server(&mut self) -> Option { - return match &self.cfg.url { + return match &self.cfg.url_read { Some(url) => { match reqwest::blocking::get(url) { Ok(resp) => match resp.text() { @@ -443,19 +441,31 @@ impl Feedback { }; } -/* fn read_from_client(&mut self) -> Option { - let last: Option = None; + let mut last: Option = None; loop { match self.recv_c.try_recv() { Ok(msg) => { - last = msg; + last = Some(msg); }, _ => break, }; } return last; } - */ + + fn write_from_client(&mut self, msg: String) { + match &self.cfg.url_say { + Some(url) => { + match reqwest::blocking::get(format!("{}{}", url, msg)) { + Err(err) => { + eprintln!("feedback.write_from_client: cannot say: {}", err); + }, + _ => {}, + }; + }, + _ => {}, + }; + } } diff --git a/src/testdata/http.go b/src/testdata/http.go index 6d65c91..a28896d 100644 --- a/src/testdata/http.go +++ b/src/testdata/http.go @@ -11,7 +11,7 @@ func main() { p := os.Getenv("PORT") if err := http.ListenAndServe(":"+p, http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { b, _ := io.ReadAll(r.Body) - log.Printf("> %s", b) + log.Printf("> %s (%+v) %s", r.URL, r.Header, b) body := os.Getenv("BODY") if body == "-" { body = string(b)