File tree Expand file tree Collapse file tree 1 file changed +12
-7
lines changed Expand file tree Collapse file tree 1 file changed +12
-7
lines changed Original file line number Diff line number Diff line change @@ -98,13 +98,18 @@ pub fn rustdoc_redirector_handler(req: &mut Request) -> IronResult<Response> {
98
98
vers : & str ,
99
99
target_name : & str )
100
100
-> IronResult < Response > {
101
- let url = ctry ! ( Url :: parse( & format!( "{}/{}/{}/{}/?{}" ,
102
- redirect_base( req) ,
103
- name,
104
- vers,
105
- target_name,
106
- req. url. query( ) . unwrap_or_default( )
107
- ) [ ..] ) ) ;
101
+ let mut url_str = format ! (
102
+ "{}/{}/{}/{}/" ,
103
+ redirect_base( req) ,
104
+ name,
105
+ vers,
106
+ target_name,
107
+ ) ;
108
+ if let Some ( query) = req. url . query ( ) {
109
+ url_str. push ( '?' ) ;
110
+ url_str. push_str ( query) ;
111
+ }
112
+ let url = ctry ! ( Url :: parse( & url_str[ ..] ) ) ;
108
113
let mut resp = Response :: with ( ( status:: Found , Redirect ( url) ) ) ;
109
114
resp. headers . set ( Expires ( HttpDate ( time:: now ( ) ) ) ) ;
110
115
You can’t perform that action at this time.
0 commit comments