@@ -51,17 +51,17 @@ impl Url {
5151
5252 pub fn parse ( rawurl : & str ) -> DecodeResult < Url > {
5353 // scheme
54- let ( scheme, rest) = try! ( get_scheme ( rawurl) ) ;
54+ let ( scheme, rest) = get_scheme ( rawurl) ? ;
5555
5656 // authority
57- let ( userinfo, host, port, rest) = try! ( get_authority ( rest) ) ;
57+ let ( userinfo, host, port, rest) = get_authority ( rest) ? ;
5858
5959 // path
6060 let has_authority = !host. is_empty ( ) ;
61- let ( path, rest) = try! ( get_path ( rest, has_authority) ) ;
61+ let ( path, rest) = get_path ( rest, has_authority) ? ;
6262
6363 // query and fragment
64- let ( query, fragment) = try! ( get_query_fragment ( rest) ) ;
64+ let ( query, fragment) = get_query_fragment ( rest) ? ;
6565
6666 let url = Url :: new ( scheme. to_owned ( ) ,
6767 userinfo,
@@ -84,10 +84,10 @@ impl Path {
8484 }
8585
8686 pub fn parse ( rawpath : & str ) -> DecodeResult < Path > {
87- let ( path, rest) = try! ( get_path ( rawpath, false ) ) ;
87+ let ( path, rest) = get_path ( rawpath, false ) ? ;
8888
8989 // query and fragment
90- let ( query, fragment) = try! ( get_query_fragment ( & rest) ) ;
90+ let ( query, fragment) = get_query_fragment ( & rest) ? ;
9191
9292 Ok ( Path {
9393 path : path,
@@ -177,7 +177,7 @@ fn query_from_str(rawquery: &str) -> DecodeResult<Query> {
177177 if !rawquery. is_empty ( ) {
178178 for p in rawquery. split ( '&' ) {
179179 let ( k, v) = split_char_first ( p, '=' ) ;
180- query. push ( ( try! ( decode_component ( k) ) , try! ( decode_component ( v) ) ) ) ;
180+ query. push ( ( decode_component ( k) ? , decode_component ( v) ? ) ) ;
181181 }
182182 }
183183
@@ -316,13 +316,13 @@ fn get_authority(rawurl: &str) -> DecodeResult<(Option<UserInfo>, &str, Option<u
316316 colon_count = 0 ; // reset count
317317 match st {
318318 State :: Start => {
319- let user = try! ( decode_component ( & rawurl[ begin..i] ) ) ;
319+ let user = decode_component ( & rawurl[ begin..i] ) ? ;
320320 userinfo = Some ( UserInfo :: new ( user, None ) ) ;
321321 st = State :: InHost ;
322322 }
323323 State :: PassHostPort => {
324- let user = try! ( decode_component ( & rawurl[ begin..pos] ) ) ;
325- let pass = try! ( decode_component ( & rawurl[ pos + 1 ..i] ) ) ;
324+ let user = decode_component ( & rawurl[ begin..pos] ) ? ;
325+ let pass = decode_component ( & rawurl[ pos + 1 ..i] ) ? ;
326326 userinfo = Some ( UserInfo :: new ( user, Some ( pass) ) ) ;
327327 st = State :: InHost ;
328328 }
@@ -392,7 +392,7 @@ fn get_path(rawurl: &str, is_authority: bool) -> DecodeResult<(String, &str)> {
392392 if is_authority && end != 0 && !rawurl. starts_with ( '/' ) {
393393 Err ( "Non-empty path must begin with '/' in presence of authority." . to_owned ( ) )
394394 } else {
395- Ok ( ( try! ( decode_component ( & rawurl[ 0 ..end] ) ) , & rawurl[ end..len] ) )
395+ Ok ( ( decode_component ( & rawurl[ 0 ..end] ) ? , & rawurl[ end..len] ) )
396396 }
397397}
398398
@@ -403,11 +403,11 @@ fn get_query_fragment(rawurl: &str) -> DecodeResult<(Query, Option<String>)> {
403403 // Parse the fragment if available
404404 let fragment = match raw_fragment {
405405 "" => None ,
406- raw => Some ( try! ( decode_component ( raw) ) ) ,
406+ raw => Some ( decode_component ( raw) ? ) ,
407407 } ;
408408
409409 match before_fragment. chars ( ) . next ( ) {
410- Some ( '?' ) => Ok ( ( try! ( query_from_str ( & before_fragment[ 1 ..] ) ) , fragment) ) ,
410+ Some ( '?' ) => Ok ( ( query_from_str ( & before_fragment[ 1 ..] ) ? , fragment) ) ,
411411 None => Ok ( ( vec ! [ ] , fragment) ) ,
412412 _ => Err ( format ! ( "Query didn't start with '?': '{}..'" , before_fragment) ) ,
413413 }
0 commit comments