File tree 2 files changed +10
-0
lines changed
2 files changed +10
-0
lines changed Original file line number Diff line number Diff line change @@ -1019,3 +1019,12 @@ pub fn reverse_dependencies(req: &mut Request) -> CargoResult<Response> {
1019
1019
struct Meta { total : i64 }
1020
1020
Ok ( req. json ( & R { dependencies : rev_deps, meta : Meta { total : total } } ) )
1021
1021
}
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
+ }
Original file line number Diff line number Diff line change @@ -89,6 +89,7 @@ pub fn middleware(app: Arc<App>) -> MiddlewareBuilder {
89
89
api_router. delete ( "/crates/:crate_id/:version/yank" , C ( version:: yank) ) ;
90
90
api_router. put ( "/crates/:crate_id/:version/unyank" , C ( version:: unyank) ) ;
91
91
api_router. get ( "/crates/:crate_id/reverse_dependencies" , C ( krate:: reverse_dependencies) ) ;
92
+ api_router. get ( "/crates/:crate_id.svg" , C ( krate:: shield) ) ;
92
93
api_router. get ( "/versions" , C ( version:: index) ) ;
93
94
api_router. get ( "/versions/:version_id" , C ( version:: show) ) ;
94
95
api_router. get ( "/keywords" , C ( keyword:: index) ) ;
You can’t perform that action at this time.
0 commit comments