Skip to content

Commit 7cd57f8

Browse files
committed
Rewrite latest_path logic
1 parent e54f601 commit 7cd57f8

File tree

1 file changed

+14
-10
lines changed

1 file changed

+14
-10
lines changed

src/web/rustdoc.rs

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -448,23 +448,27 @@ pub fn rustdoc_html_server_handler(req: &mut Request) -> IronResult<Response> {
448448
};
449449

450450
// Find the path of the latest version for the `Go to latest` and `Permalink` links
451-
let mut latest_path = if latest_release.build_status {
451+
let target_redirect = if latest_release.build_status {
452452
let target = if target.is_empty() {
453453
&krate.metadata.default_target
454454
} else {
455455
target
456456
};
457-
format!(
458-
"/crate/{}/{}/target-redirect/{}/{}",
459-
name, latest_version, target, inner_path
460-
)
457+
format!("/target-redirect/{}/{}", target, inner_path)
461458
} else {
462-
format!("/crate/{}/{}", name, latest_version)
459+
"".to_string()
463460
};
464-
if let Some(query) = req.url.query() {
465-
latest_path.push('?');
466-
latest_path.push_str(query);
467-
}
461+
462+
let query_string = if let Some(query) = req.url.query() {
463+
format!("?{}", query)
464+
} else {
465+
"".to_string()
466+
};
467+
468+
let latest_path = format!(
469+
"/crate/{}/{}{}{}",
470+
name, latest_version, target_redirect, query_string
471+
);
468472

469473
metrics
470474
.recently_accessed_releases

0 commit comments

Comments
 (0)