aboutsummaryrefslogtreecommitdiffstats
path: root/teleterm/src/web/watch.rs
diff options
context:
space:
mode:
Diffstat (limited to 'teleterm/src/web/watch.rs')
-rw-r--r--teleterm/src/web/watch.rs13
1 files changed, 13 insertions, 0 deletions
diff --git a/teleterm/src/web/watch.rs b/teleterm/src/web/watch.rs
index 720e9f8..74a59dd 100644
--- a/teleterm/src/web/watch.rs
+++ b/teleterm/src/web/watch.rs
@@ -15,6 +15,19 @@ pub struct QueryParams {
pub fn run(
mut 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 body = hyper::Body::take_from(&mut state);
let headers = hyper::HeaderMap::take_from(&mut state);
let config = crate::web::Config::borrow_from(&state);