aboutsummaryrefslogtreecommitdiffstats
path: root/teleterm/src/web/login.rs
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2019-11-23 16:10:04 -0500
committerJesse Luehrs <doy@tozt.net>2019-11-23 16:10:04 -0500
commitb28008bc97a7fbc9d4e7b6eac2c06d8e91e1fb16 (patch)
treed4adb7e59dd66e6a1f4a68e37fc2b12debbcc4b9 /teleterm/src/web/login.rs
parentaa346f8caf62c34ba6f45a4c99056a78b15d6651 (diff)
downloadteleterm-b28008bc97a7fbc9d4e7b6eac2c06d8e91e1fb16.tar.gz
teleterm-b28008bc97a7fbc9d4e7b6eac2c06d8e91e1fb16.zip
start working on the login flow
Diffstat (limited to 'teleterm/src/web/login.rs')
-rw-r--r--teleterm/src/web/login.rs26
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("{}")))
+}