Skip to content

Commit a30e86d

Browse files
committed
cargo fmt
1 parent 5377ee9 commit a30e86d

File tree

1 file changed

+74
-44
lines changed

1 file changed

+74
-44
lines changed

src/lib.rs

Lines changed: 74 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
extern crate route_recognizer as router;
21
extern crate conduit;
2+
extern crate route_recognizer as router;
33

4-
use std::collections::hash_map::{HashMap, Entry};
4+
use std::collections::hash_map::{Entry, HashMap};
55
use std::error::Error;
66
use std::fmt;
77

8-
use router::{Router, Match};
9-
use conduit::{Method, Handler, Request, Response};
8+
use conduit::{Handler, Method, Request, Response};
9+
use router::{Match, Router};
1010

1111
pub struct RouteBuilder {
1212
routers: HashMap<Method, Router<Box<dyn Handler>>>,
@@ -17,21 +17,29 @@ pub struct RouterError(String);
1717

1818
impl RouteBuilder {
1919
pub fn new() -> RouteBuilder {
20-
RouteBuilder { routers: HashMap::new() }
20+
RouteBuilder {
21+
routers: HashMap::new(),
22+
}
2123
}
2224

23-
pub fn recognize<'a>(&'a self, method: &Method, path: &str)
24-
-> Result<Match<&'a Box<dyn Handler>>,
25-
RouterError>
26-
{
25+
pub fn recognize<'a>(
26+
&'a self,
27+
method: &Method,
28+
path: &str,
29+
) -> Result<Match<&'a Box<dyn Handler>>, RouterError> {
2730
match self.routers.get(method) {
2831
Some(router) => router.recognize(path),
2932
None => Err(format!("No router found for {:?}", method)),
30-
}.map_err(RouterError)
33+
}
34+
.map_err(RouterError)
3135
}
3236

33-
pub fn map<'a, H: Handler>(&'a mut self, method: Method, pattern: &str,
34-
handler: H) -> &'a mut RouteBuilder {
37+
pub fn map<'a, H: Handler>(
38+
&'a mut self,
39+
method: Method,
40+
pattern: &str,
41+
handler: H,
42+
) -> &'a mut RouteBuilder {
3543
{
3644
let router = match self.routers.entry(method) {
3745
Entry::Occupied(e) => e.into_mut(),
@@ -42,41 +50,36 @@ impl RouteBuilder {
4250
self
4351
}
4452

45-
pub fn get<'a, H: Handler>(&'a mut self, pattern: &str, handler: H)
46-
-> &'a mut RouteBuilder {
53+
pub fn get<'a, H: Handler>(&'a mut self, pattern: &str, handler: H) -> &'a mut RouteBuilder {
4754
self.map(Method::Get, pattern, handler)
4855
}
4956

50-
pub fn post<'a, H: Handler>(&'a mut self, pattern: &str, handler: H)
51-
-> &'a mut RouteBuilder {
57+
pub fn post<'a, H: Handler>(&'a mut self, pattern: &str, handler: H) -> &'a mut RouteBuilder {
5258
self.map(Method::Post, pattern, handler)
5359
}
5460

55-
pub fn put<'a, H: Handler>(&'a mut self, pattern: &str, handler: H)
56-
-> &'a mut RouteBuilder {
61+
pub fn put<'a, H: Handler>(&'a mut self, pattern: &str, handler: H) -> &'a mut RouteBuilder {
5762
self.map(Method::Put, pattern, handler)
5863
}
5964

60-
pub fn delete<'a, H: Handler>(&'a mut self, pattern: &str, handler: H)
61-
-> &'a mut RouteBuilder {
65+
pub fn delete<'a, H: Handler>(&'a mut self, pattern: &str, handler: H) -> &'a mut RouteBuilder {
6266
self.map(Method::Delete, pattern, handler)
6367
}
6468

65-
pub fn head<'a, H: Handler>(&'a mut self, pattern: &str, handler: H)
66-
-> &'a mut RouteBuilder {
69+
pub fn head<'a, H: Handler>(&'a mut self, pattern: &str, handler: H) -> &'a mut RouteBuilder {
6770
self.map(Method::Head, pattern, handler)
6871
}
6972
}
7073

7174
impl conduit::Handler for RouteBuilder {
72-
fn call(&self, request: &mut dyn Request) -> Result<Response, Box<dyn Error+Send>> {
75+
fn call(&self, request: &mut dyn Request) -> Result<Response, Box<dyn Error + Send>> {
7376
let m = {
7477
let method = request.method();
7578
let path = request.path();
7679

7780
match self.recognize(&method, path) {
7881
Ok(m) => m,
79-
Err(e) => return Err(Box::new(e) as Box<dyn Error+Send>)
82+
Err(e) => return Err(Box::new(e) as Box<dyn Error + Send>),
8083
}
8184
};
8285

@@ -90,7 +93,9 @@ impl conduit::Handler for RouteBuilder {
9093
}
9194

9295
impl Error for RouterError {
93-
fn description(&self) -> &str { &self.0 }
96+
fn description(&self) -> &str {
97+
&self.0
98+
}
9499
}
95100

96101
impl fmt::Display for RouterError {
@@ -104,7 +109,8 @@ pub trait RequestParams<'a> {
104109
}
105110

106111
pub fn params<'a>(req: &'a dyn Request) -> &'a router::Params {
107-
req.extensions().find::<router::Params>()
112+
req.extensions()
113+
.find::<router::Params>()
108114
.expect("Missing params")
109115
}
110116

@@ -121,40 +127,64 @@ mod tests {
121127
use std::io;
122128
use std::net::SocketAddr;
123129

124-
use {RouteBuilder, RequestParams};
130+
use {RequestParams, RouteBuilder};
125131

126132
use conduit;
127-
use conduit::{Handler, Method, Scheme, Host, Headers, Extensions, TypeMap};
133+
use conduit::{Extensions, Handler, Headers, Host, Method, Scheme, TypeMap};
128134

129135
struct RequestSentinel {
130136
method: Method,
131137
path: String,
132-
extensions: conduit::Extensions
138+
extensions: conduit::Extensions,
133139
}
134140

135141
impl RequestSentinel {
136142
fn new(method: Method, path: &'static str) -> RequestSentinel {
137143
RequestSentinel {
138144
path: path.to_string(),
139145
extensions: TypeMap::new(),
140-
method: method
146+
method: method,
141147
}
142148
}
143149
}
144150

145151
impl conduit::Request for RequestSentinel {
146-
fn http_version(&self) -> semver::Version { unimplemented!() }
147-
fn conduit_version(&self) -> semver::Version { unimplemented!() }
148-
fn method(&self) -> Method { self.method.clone() }
149-
fn scheme(&self) -> Scheme { unimplemented!() }
150-
fn host<'a>(&'a self) -> Host<'a> { unimplemented!() }
151-
fn virtual_root<'a>(&'a self) -> Option<&'a str> { unimplemented!() }
152-
fn path<'a>(&'a self) -> &'a str { &self.path }
153-
fn query_string<'a>(&'a self) -> Option<&'a str> { unimplemented!() }
154-
fn remote_addr(&self) -> SocketAddr { unimplemented!() }
155-
fn content_length(&self) -> Option<u64> { unimplemented!() }
156-
fn headers<'a>(&'a self) -> &'a dyn Headers { unimplemented!() }
157-
fn body<'a>(&'a mut self) -> &'a mut dyn io::Read { unimplemented!() }
152+
fn http_version(&self) -> semver::Version {
153+
unimplemented!()
154+
}
155+
fn conduit_version(&self) -> semver::Version {
156+
unimplemented!()
157+
}
158+
fn method(&self) -> Method {
159+
self.method.clone()
160+
}
161+
fn scheme(&self) -> Scheme {
162+
unimplemented!()
163+
}
164+
fn host<'a>(&'a self) -> Host<'a> {
165+
unimplemented!()
166+
}
167+
fn virtual_root<'a>(&'a self) -> Option<&'a str> {
168+
unimplemented!()
169+
}
170+
fn path<'a>(&'a self) -> &'a str {
171+
&self.path
172+
}
173+
fn query_string<'a>(&'a self) -> Option<&'a str> {
174+
unimplemented!()
175+
}
176+
fn remote_addr(&self) -> SocketAddr {
177+
unimplemented!()
178+
}
179+
fn content_length(&self) -> Option<u64> {
180+
unimplemented!()
181+
}
182+
fn headers<'a>(&'a self) -> &'a dyn Headers {
183+
unimplemented!()
184+
}
185+
fn body<'a>(&'a mut self) -> &'a mut dyn io::Read {
186+
unimplemented!()
187+
}
158188
fn extensions<'a>(&'a self) -> &'a Extensions {
159189
&self.extensions
160190
}
@@ -202,14 +232,14 @@ mod tests {
202232
}
203233

204234
fn test_handler(req: &mut dyn conduit::Request) -> io::Result<conduit::Response> {
205-
let mut res = vec!();
235+
let mut res = vec![];
206236
res.push(req.params()["id"].clone());
207237
res.push(format!("{:?}", req.method()));
208238

209239
Ok(conduit::Response {
210240
status: (200, "OK"),
211241
headers: HashMap::new(),
212-
body: Box::new(io::Cursor::new(res.join(", ").into_bytes()))
242+
body: Box::new(io::Cursor::new(res.join(", ").into_bytes())),
213243
})
214244
}
215245
}

0 commit comments

Comments
 (0)