@@ -12,7 +12,7 @@ use router::{Router, Match};
12
12
use conduit:: { Method , Handler , Request , Response } ;
13
13
14
14
pub struct RouteBuilder {
15
- routers : HashMap < Method , Router < Box < Handler > > >
15
+ routers : HashMap < Method , Router < Box < Handler + ' static > > >
16
16
}
17
17
18
18
macro_rules! method_map(
@@ -30,7 +30,8 @@ impl RouteBuilder {
30
30
RouteBuilder { routers : HashMap :: new ( ) }
31
31
}
32
32
33
- pub fn recognize < ' a > ( & ' a self , method : & Method , path : & str ) -> Result < Match < & ' a Box < Handler > > , String > {
33
+ pub fn recognize < ' a > ( & ' a self , method : & Method ,
34
+ path : & str ) -> Result < Match < & ' a Box < Handler + ' static > > , String > {
34
35
match self . routers . find ( method) {
35
36
None => Err ( format ! ( "No router found for {}" , method) ) ,
36
37
Some ( router) => router. recognize ( path)
@@ -43,7 +44,7 @@ impl RouteBuilder {
43
44
{
44
45
{
45
46
let router = self . routers . find_or_insert_with ( method, |_| Router :: new ( ) ) ;
46
- router. add ( pattern, box handler as Box < Handler > ) ;
47
+ router. add ( pattern, box handler as Box < Handler + ' static > ) ;
47
48
}
48
49
self
49
50
}
0 commit comments