diff --git a/actix-session/CHANGES.md b/actix-session/CHANGES.md index d85f6d5f1..784bfdf0d 100644 --- a/actix-session/CHANGES.md +++ b/actix-session/CHANGES.md @@ -6,6 +6,7 @@ at successful login to cycle a session (new key/cookie but keeps state). Use ``Session.purge()`` at logout to invalid a session cookie (and remove from redis cache, if applicable). +* Add access to the session from RequestHead for use of session from guard methods ## [0.1.1] - 2019-06-03 diff --git a/actix-session/src/lib.rs b/actix-session/src/lib.rs index 8fd6bd0e0..291f28966 100644 --- a/actix-session/src/lib.rs +++ b/actix-session/src/lib.rs @@ -289,6 +289,20 @@ mod tests { assert_eq!(res, Some("value".to_string())); } + #[test] + fn get_session_from_request_head() { + let mut req = test::TestRequest::default().to_srv_request(); + + Session::set_session( + vec![("key".to_string(), "\"value\"".to_string())].into_iter(), + &mut req, + ); + + let session = req.head_mut().get_session(); + let res = session.get::("key").unwrap(); + assert_eq!(res, Some("value".to_string())); + } + #[test] fn purge_session() { let req = test::TestRequest::default().to_srv_request();