aboutsummaryrefslogtreecommitdiffstats
path: root/teleterm/src/web/list.rs
diff options
context:
space:
mode:
Diffstat (limited to 'teleterm/src/web/list.rs')
-rw-r--r--teleterm/src/web/list.rs13
1 files changed, 13 insertions, 0 deletions
diff --git a/teleterm/src/web/list.rs b/teleterm/src/web/list.rs
index 9c1bcc6..0906f82 100644
--- a/teleterm/src/web/list.rs
+++ b/teleterm/src/web/list.rs
@@ -5,6 +5,19 @@ use gotham::state::FromState as _;
pub fn run(
state: gotham::state::State,
) -> (gotham::state::State, hyper::Response<hyper::Body>) {
+ let session = gotham::middleware::session::SessionData::<
+ crate::web::SessionData,
+ >::borrow_from(&state);
+ if session.username.is_none() {
+ return (
+ state,
+ hyper::Response::builder()
+ .status(hyper::StatusCode::FORBIDDEN)
+ .body(hyper::Body::empty())
+ .unwrap(),
+ );
+ }
+
let config = crate::web::Config::borrow_from(&state);
let (_, address) = config.server_address;