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