diff options
Diffstat (limited to 'teleterm/src/web/login.rs')
-rw-r--r-- | teleterm/src/web/login.rs | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/teleterm/src/web/login.rs b/teleterm/src/web/login.rs new file mode 100644 index 0000000..a678b95 --- /dev/null +++ b/teleterm/src/web/login.rs @@ -0,0 +1,26 @@ +use gotham::state::FromState as _; + +#[derive( + serde::Deserialize, + gotham_derive::StateData, + gotham_derive::StaticResponseExtender, +)] +pub struct QueryParams { + username: Option<String>, +} + +pub fn run( + mut state: gotham::state::State, +) -> (gotham::state::State, hyper::Response<hyper::Body>) { + let username = { + let query_params = QueryParams::borrow_from(&state); + query_params.username.clone() + }; + let session = gotham::middleware::session::SessionData::< + crate::web::SessionData, + >::borrow_mut_from(&mut state); + + session.username = username; + + (state, hyper::Response::new(hyper::Body::from("{}"))) +} |