1
- extern crate semver;
2
1
extern crate conduit;
2
+ extern crate semver;
3
3
4
4
use std:: collections:: HashMap ;
5
5
use std:: io:: prelude:: * ;
6
6
use std:: io:: Cursor ;
7
- use std:: net:: { SocketAddr , Ipv4Addr , SocketAddrV4 } ;
7
+ use std:: net:: { Ipv4Addr , SocketAddr , SocketAddrV4 } ;
8
8
9
+ use conduit:: { Extensions , Headers , Host , Method , Scheme , TypeMap } ;
9
10
use semver:: Version ;
10
- use conduit:: { Method , Scheme , Host , Extensions , Headers , TypeMap } ;
11
11
12
12
pub struct MockRequest {
13
13
path : String ,
@@ -17,7 +17,7 @@ pub struct MockRequest {
17
17
build_headers : HashMap < String , String > ,
18
18
headers : MockHeaders ,
19
19
extensions : TypeMap ,
20
- reader : Option < Cursor < Vec < u8 > > >
20
+ reader : Option < Cursor < Vec < u8 > > > ,
21
21
}
22
22
23
23
impl MockRequest {
@@ -30,9 +30,11 @@ impl MockRequest {
30
30
query_string : None ,
31
31
body : None ,
32
32
build_headers : headers,
33
- headers : MockHeaders { headers : HashMap :: new ( ) } ,
33
+ headers : MockHeaders {
34
+ headers : HashMap :: new ( ) ,
35
+ } ,
34
36
method : method,
35
- reader : None
37
+ reader : None ,
36
38
}
37
39
}
38
40
@@ -58,16 +60,19 @@ impl MockRequest {
58
60
}
59
61
60
62
pub fn header ( & mut self , name : & str , value : & str ) -> & mut MockRequest {
61
- self . build_headers . insert ( name. to_string ( ) , value. to_string ( ) ) ;
62
- let headers = MockHeaders { headers : self . build_headers . clone ( ) } ;
63
+ self . build_headers
64
+ . insert ( name. to_string ( ) , value. to_string ( ) ) ;
65
+ let headers = MockHeaders {
66
+ headers : self . build_headers . clone ( ) ,
67
+ } ;
63
68
self . headers = headers;
64
69
65
70
self
66
71
}
67
72
}
68
73
69
74
pub struct MockHeaders {
70
- headers : HashMap < String , String >
75
+ headers : HashMap < String , String > ,
71
76
}
72
77
73
78
impl Headers for MockHeaders {
@@ -80,8 +85,10 @@ impl Headers for MockHeaders {
80
85
}
81
86
82
87
fn all ( & self ) -> Vec < ( & str , Vec < & str > ) > {
83
- self . headers . iter ( ) . map ( |( k, v) | ( & k[ ..] , vec ! [ & v[ ..] ] ) )
84
- . collect ( )
88
+ self . headers
89
+ . iter ( )
90
+ . map ( |( k, v) | ( & k[ ..] , vec ! [ & v[ ..] ] ) )
91
+ . collect ( )
85
92
}
86
93
}
87
94
@@ -94,10 +101,18 @@ impl conduit::Request for MockRequest {
94
101
Version :: parse ( "0.1.0" ) . unwrap ( )
95
102
}
96
103
97
- fn method ( & self ) -> Method { self . method . clone ( ) }
98
- fn scheme ( & self ) -> Scheme { Scheme :: Http }
99
- fn host ( & self ) -> Host { Host :: Name ( "example.com" ) }
100
- fn virtual_root ( & self ) -> Option < & str > { None }
104
+ fn method ( & self ) -> Method {
105
+ self . method . clone ( )
106
+ }
107
+ fn scheme ( & self ) -> Scheme {
108
+ Scheme :: Http
109
+ }
110
+ fn host ( & self ) -> Host {
111
+ Host :: Name ( "example.com" )
112
+ }
113
+ fn virtual_root ( & self ) -> Option < & str > {
114
+ None
115
+ }
101
116
102
117
fn path ( & self ) -> & str {
103
118
& self . path
@@ -140,9 +155,9 @@ mod tests {
140
155
use super :: MockRequest ;
141
156
use semver:: Version ;
142
157
143
- use std:: net:: { SocketAddr , SocketAddrV4 , Ipv4Addr } ;
158
+ use std:: net:: { Ipv4Addr , SocketAddr , SocketAddrV4 } ;
144
159
145
- use conduit:: { Request , Method , Host , Scheme } ;
160
+ use conduit:: { Host , Method , Request , Scheme } ;
146
161
147
162
#[ test]
148
163
fn simple_request_test ( ) {
@@ -156,9 +171,10 @@ mod tests {
156
171
assert_eq ! ( req. virtual_root( ) , None ) ;
157
172
assert_eq ! ( req. path( ) , "/" ) ;
158
173
assert_eq ! ( req. query_string( ) , None ) ;
159
- assert_eq ! ( req. remote_addr( ) ,
160
- SocketAddr :: V4 ( SocketAddrV4 :: new( Ipv4Addr :: new( 127 , 0 , 0 , 1 ) ,
161
- 80 ) ) ) ;
174
+ assert_eq ! (
175
+ req. remote_addr( ) ,
176
+ SocketAddr :: V4 ( SocketAddrV4 :: new( Ipv4Addr :: new( 127 , 0 , 0 , 1 ) , 80 ) )
177
+ ) ;
162
178
assert_eq ! ( req. content_length( ) , None ) ;
163
179
assert_eq ! ( req. headers( ) . all( ) . len( ) , 0 ) ;
164
180
let mut s = String :: new ( ) ;
0 commit comments