Skip to content

Commit cfc5d42

Browse files
committed
Merge pull request #143 from seanmonstar/shield
add a "badge" route for crates
2 parents 23531e7 + 61aaf0c commit cfc5d42

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

src/krate.rs

+9
Original file line numberDiff line numberDiff line change
@@ -1019,3 +1019,12 @@ pub fn reverse_dependencies(req: &mut Request) -> CargoResult<Response> {
10191019
struct Meta { total: i64 }
10201020
Ok(req.json(&R{ dependencies: rev_deps, meta: Meta { total: total } }))
10211021
}
1022+
1023+
pub fn shield(req: &mut Request) -> CargoResult<Response> {
1024+
let name = &req.params()["crate_id"];
1025+
let conn = try!(req.tx());
1026+
let krate = try!(Crate::find_by_name(conn, &name));
1027+
Ok(req.redirect(format!(
1028+
"https://img.shields.io/badge/crates.io-{}-green.svg",
1029+
krate.max_version)))
1030+
}

src/lib.rs

+1
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@ pub fn middleware(app: Arc<App>) -> MiddlewareBuilder {
8989
api_router.delete("/crates/:crate_id/:version/yank", C(version::yank));
9090
api_router.put("/crates/:crate_id/:version/unyank", C(version::unyank));
9191
api_router.get("/crates/:crate_id/reverse_dependencies", C(krate::reverse_dependencies));
92+
api_router.get("/crates/:crate_id.svg", C(krate::shield));
9293
api_router.get("/versions", C(version::index));
9394
api_router.get("/versions/:version_id", C(version::show));
9495
api_router.get("/keywords", C(keyword::index));

0 commit comments

Comments
 (0)