diff options
Diffstat (limited to 'teleterm/src/web/list.rs')
-rw-r--r-- | teleterm/src/web/list.rs | 13 |
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; |