From cc5a3f9056fe1b563dbb40d51b1621769150c08d Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Tue, 26 Nov 2019 01:43:12 -0500 Subject: add a logout button --- teleterm-web/src/model.rs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'teleterm-web/src/model.rs') diff --git a/teleterm-web/src/model.rs b/teleterm-web/src/model.rs index 9c611b6..05e3152 100644 --- a/teleterm-web/src/model.rs +++ b/teleterm-web/src/model.rs @@ -120,8 +120,18 @@ impl Model { } }, crate::Msg::StopWatching => { + log::debug!("stop watching"); self.list(orders); } + crate::Msg::Logout => { + log::debug!("logout"); + self.logout(orders); + } + crate::Msg::LoggedOut(..) => { + log::debug!("logged out"); + self.config.username = None; + self.state = State::Login; + } } } @@ -201,6 +211,13 @@ impl Model { self.state = State::Watch(WatchConn::new(ws)); } + fn logout(&self, orders: &mut impl Orders) { + let url = format!("http://{}/logout", self.config.public_address); + orders.perform_cmd( + seed::Request::new(url).fetch(crate::Msg::LoggedOut), + ); + } + fn process(&mut self, bytes: &[u8]) { if let State::Watch(conn) = &mut self.state { conn.term.process(bytes); -- cgit v1.2.3-54-g00ecf