mirror of
https://github.com/fafhrd91/actix-web
synced 2024-11-27 17:52:56 +01:00
Add with-cookie init-method for TestRequest (#647)
This commit is contained in:
parent
799c6eb719
commit
61883042c2
@ -1,5 +1,12 @@
|
|||||||
# Changes
|
# Changes
|
||||||
|
|
||||||
|
## [0.7.18] - 2019-01-02
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
* Add `with_cookie` for `TestRequest` to allow users to customize request cookie. #647
|
||||||
|
* Add `cookie` method for `TestRequest` to allow users to add cookie dynamically.
|
||||||
|
|
||||||
## [0.7.17] - 2018-12-25
|
## [0.7.17] - 2018-12-25
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
24
src/test.rs
24
src/test.rs
@ -507,6 +507,11 @@ impl TestRequest<()> {
|
|||||||
{
|
{
|
||||||
TestRequest::default().header(key, value)
|
TestRequest::default().header(key, value)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Create TestRequest and set request cookie
|
||||||
|
pub fn with_cookie(cookie: Cookie<'static>) -> TestRequest<()> {
|
||||||
|
TestRequest::default().cookie(cookie)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<S: 'static> TestRequest<S> {
|
impl<S: 'static> TestRequest<S> {
|
||||||
@ -543,6 +548,25 @@ impl<S: 'static> TestRequest<S> {
|
|||||||
self
|
self
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// set cookie of this request
|
||||||
|
pub fn cookie(mut self, cookie: Cookie<'static>) -> Self {
|
||||||
|
if self.cookies.is_none() {
|
||||||
|
let mut should_insert = true;
|
||||||
|
let old_cookies = self.cookies.as_mut().unwrap();
|
||||||
|
for old_cookie in old_cookies.iter() {
|
||||||
|
if old_cookie == &cookie {
|
||||||
|
should_insert = false
|
||||||
|
};
|
||||||
|
};
|
||||||
|
if should_insert {
|
||||||
|
old_cookies.push(cookie);
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
self.cookies = Some(vec![cookie]);
|
||||||
|
};
|
||||||
|
self
|
||||||
|
}
|
||||||
|
|
||||||
/// Set a header
|
/// Set a header
|
||||||
pub fn set<H: Header>(mut self, hdr: H) -> Self {
|
pub fn set<H: Header>(mut self, hdr: H) -> Self {
|
||||||
if let Ok(value) = hdr.try_into() {
|
if let Ok(value) = hdr.try_into() {
|
||||||
|
Loading…
Reference in New Issue
Block a user