@@ -2,7 +2,7 @@ use header::{Header, HeaderFormat};
2
2
use std:: fmt;
3
3
use std:: str:: from_utf8;
4
4
5
- use cookie:: Cookie ;
5
+ use cookie:: Cookie as CookiePair ;
6
6
use cookie:: CookieJar ;
7
7
8
8
/// The `Cookie` header. Defined in [RFC6265](tools.ietf.org/html/rfc6265#section-5.4):
@@ -14,16 +14,16 @@ use cookie::CookieJar;
14
14
/// > When the user agent generates an HTTP request, the user agent MUST NOT
15
15
/// > attach more than one Cookie header field.
16
16
#[ derive( Clone , PartialEq , Debug ) ]
17
- pub struct Cookies ( pub Vec < Cookie > ) ;
17
+ pub struct Cookie ( pub Vec < CookiePair > ) ;
18
18
19
- deref ! ( Cookies => Vec <Cookie >) ;
19
+ deref ! ( Cookie => Vec <CookiePair >) ;
20
20
21
- impl Header for Cookies {
21
+ impl Header for Cookie {
22
22
fn header_name ( ) -> & ' static str {
23
23
"Cookie"
24
24
}
25
25
26
- fn parse_header ( raw : & [ Vec < u8 > ] ) -> Option < Cookies > {
26
+ fn parse_header ( raw : & [ Vec < u8 > ] ) -> Option < Cookie > {
27
27
let mut cookies = Vec :: with_capacity ( raw. len ( ) ) ;
28
28
for cookies_raw in raw. iter ( ) {
29
29
match from_utf8 ( & cookies_raw[ ] ) {
@@ -40,14 +40,14 @@ impl Header for Cookies {
40
40
}
41
41
42
42
if !cookies. is_empty ( ) {
43
- Some ( Cookies ( cookies) )
43
+ Some ( Cookie ( cookies) )
44
44
} else {
45
45
None
46
46
}
47
47
}
48
48
}
49
49
50
- impl HeaderFormat for Cookies {
50
+ impl HeaderFormat for Cookie {
51
51
fn fmt_header ( & self , fmt : & mut fmt:: Formatter ) -> fmt:: Result {
52
52
let cookies = & self . 0 ;
53
53
let last = cookies. len ( ) - 1 ;
@@ -61,7 +61,7 @@ impl HeaderFormat for Cookies {
61
61
}
62
62
}
63
63
64
- impl Cookies {
64
+ impl Cookie {
65
65
/// This method can be used to create CookieJar that can be used
66
66
/// to manipulate cookies and create a corresponding `SetCookie` header afterwards.
67
67
pub fn to_cookie_jar ( & self , key : & [ u8 ] ) -> CookieJar < ' static > {
@@ -74,44 +74,43 @@ impl Cookies {
74
74
75
75
/// Extracts all cookies from `CookieJar` and creates Cookie header.
76
76
/// Useful for clients.
77
- pub fn from_cookie_jar ( jar : & CookieJar ) -> Cookies {
78
- Cookies ( jar. iter ( ) . collect ( ) )
77
+ pub fn from_cookie_jar ( jar : & CookieJar ) -> Cookie {
78
+ Cookie ( jar. iter ( ) . collect ( ) )
79
79
}
80
80
}
81
81
82
82
83
83
#[ test]
84
84
fn test_parse ( ) {
85
85
let h = Header :: parse_header ( & [ b"foo=bar; baz=quux" . to_vec ( ) ] [ ] ) ;
86
- let c1 = Cookie :: new ( "foo" . to_string ( ) , "bar" . to_string ( ) ) ;
87
- let c2 = Cookie :: new ( "baz" . to_string ( ) , "quux" . to_string ( ) ) ;
88
- assert_eq ! ( h, Some ( Cookies ( vec![ c1, c2] ) ) ) ;
86
+ let c1 = CookiePair :: new ( "foo" . to_string ( ) , "bar" . to_string ( ) ) ;
87
+ let c2 = CookiePair :: new ( "baz" . to_string ( ) , "quux" . to_string ( ) ) ;
88
+ assert_eq ! ( h, Some ( Cookie ( vec![ c1, c2] ) ) ) ;
89
89
}
90
90
91
91
#[ test]
92
92
fn test_fmt ( ) {
93
93
use header:: Headers ;
94
94
95
- let mut cookie = Cookie :: new ( "foo" . to_string ( ) , "bar" . to_string ( ) ) ;
96
- cookie . httponly = true ;
97
- cookie . path = Some ( "/p" . to_string ( ) ) ;
98
- let cookies = Cookies ( vec ! [ cookie , Cookie :: new( "baz" . to_string( ) , "quux" . to_string( ) ) ] ) ;
95
+ let mut cookie_pair = CookiePair :: new ( "foo" . to_string ( ) , "bar" . to_string ( ) ) ;
96
+ cookie_pair . httponly = true ;
97
+ cookie_pair . path = Some ( "/p" . to_string ( ) ) ;
98
+ let cookie_header = Cookie ( vec ! [ cookie_pair , CookiePair :: new( "baz" . to_string( ) , "quux" . to_string( ) ) ] ) ;
99
99
let mut headers = Headers :: new ( ) ;
100
- headers. set ( cookies ) ;
100
+ headers. set ( cookie_header ) ;
101
101
102
102
assert_eq ! ( & headers. to_string( ) [ ] , "Cookie: foo=bar; baz=quux\r \n " ) ;
103
103
}
104
104
105
105
#[ test]
106
106
fn cookie_jar ( ) {
107
- let cookie = Cookie :: new ( "foo" . to_string ( ) , "bar" . to_string ( ) ) ;
108
- let cookies = Cookies ( vec ! [ cookie ] ) ;
109
- let jar = cookies . to_cookie_jar ( & [ ] ) ;
110
- let new_cookies = Cookies :: from_cookie_jar ( & jar) ;
107
+ let cookie_pair = CookiePair :: new ( "foo" . to_string ( ) , "bar" . to_string ( ) ) ;
108
+ let cookie_header = Cookie ( vec ! [ cookie_pair ] ) ;
109
+ let jar = cookie_header . to_cookie_jar ( & [ ] ) ;
110
+ let new_cookie_header = Cookie :: from_cookie_jar ( & jar) ;
111
111
112
- assert_eq ! ( cookies , new_cookies ) ;
112
+ assert_eq ! ( cookie_header , new_cookie_header ) ;
113
113
}
114
114
115
115
116
- bench_header ! ( bench, Cookies , { vec![ b"foo=bar; baz=quux" . to_vec( ) ] } ) ;
117
-
116
+ bench_header ! ( bench, Cookie , { vec![ b"foo=bar; baz=quux" . to_vec( ) ] } ) ;
0 commit comments