From d5e79e1194cb2c76da6b366167dbe258e229bdc6 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Thu, 21 Nov 2019 15:11:36 -0500 Subject: make it return json --- Cargo.lock | 1 + teleterm/Cargo.toml | 1 + teleterm/src/protocol.rs | 2 +- teleterm/src/term.rs | 2 +- teleterm/src/web.rs | 13 +------------ 5 files changed, 5 insertions(+), 14 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 68bb0b2..0b4fdd2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2028,6 +2028,7 @@ dependencies = [ "regex", "reqwest", "serde", + "serde_json", "sha1", "snafu", "tokio", diff --git a/teleterm/Cargo.toml b/teleterm/Cargo.toml index caa4c35..d9be990 100644 --- a/teleterm/Cargo.toml +++ b/teleterm/Cargo.toml @@ -36,6 +36,7 @@ ratelimit_meter = "5" regex = "1" reqwest = "0.9.22" serde = "1" +serde_json = "1" sha1 = "0.6" snafu = { version = "0.5", features = ["futures-01"] } tokio = "0.1.22" diff --git a/teleterm/src/protocol.rs b/teleterm/src/protocol.rs index 20e987d..03ecd97 100644 --- a/teleterm/src/protocol.rs +++ b/teleterm/src/protocol.rs @@ -4,7 +4,7 @@ use std::convert::{TryFrom as _, TryInto as _}; pub type FramedReadHalf = FramedReader>; pub type FramedWriteHalf = FramedWriter>; -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Debug, Clone, PartialEq, Eq, serde::Serialize)] pub struct Session { pub id: String, pub username: String, diff --git a/teleterm/src/term.rs b/teleterm/src/term.rs index 02c21bb..41ba022 100644 --- a/teleterm/src/term.rs +++ b/teleterm/src/term.rs @@ -1,6 +1,6 @@ use crate::prelude::*; -#[derive(Debug, Clone, Copy, PartialEq, Eq)] +#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize)] pub struct Size { pub rows: u16, pub cols: u16, diff --git a/teleterm/src/web.rs b/teleterm/src/web.rs index 5754bcd..202bc7e 100644 --- a/teleterm/src/web.rs +++ b/teleterm/src/web.rs @@ -108,18 +108,7 @@ fn handle_list( tokio::spawn(lister.map_err(|e| log::warn!("error listing: {}", e))); match r_sessions.wait().unwrap() { Ok(sessions) => { - let mut body = String::new(); - for session in sessions { - log::debug!( - "found session with id {} and name {}", - session.id, - session.username - ); - body.push_str(&format!( - "{}: {}\n", - session.id, session.username - )); - } + let body = serde_json::to_string(&sessions).unwrap(); (state, hyper::Response::new(hyper::Body::from(body))) } Err(e) => { -- cgit v1.2.3-54-g00ecf