@@ -83,25 +83,24 @@ impl Version {
83
83
semver:: Version :: parse ( version) . is_ok ( )
84
84
}
85
85
86
- pub fn encodable ( self , krate : & Crate ) -> EncodableVersion {
87
- let Version { id, crate_id, num, updated_at, created_at,
86
+ pub fn encodable ( self , crate_name : & str ) -> EncodableVersion {
87
+ let Version { id, crate_id : _ , num, updated_at, created_at,
88
88
downloads, features } = self ;
89
- assert_eq ! ( krate. id, crate_id) ;
90
89
let num = num. to_string ( ) ;
91
90
EncodableVersion {
92
- dl_path : krate . dl_path ( num. as_slice ( ) ) ,
91
+ dl_path : format ! ( "/crates/{}/{}/download" , crate_name , num) ,
93
92
num : num. clone ( ) ,
94
93
id : id,
95
- krate : krate . name . clone ( ) ,
94
+ krate : crate_name . to_string ( ) ,
96
95
updated_at : :: encode_time ( updated_at) ,
97
96
created_at : :: encode_time ( created_at) ,
98
97
downloads : downloads,
99
98
features : features,
100
99
links : VersionLinks {
101
100
dependencies : format ! ( "/crates/{}/{}/dependencies" ,
102
- krate . name , num) ,
101
+ crate_name , num) ,
103
102
version_downloads : format ! ( "/crates/{}/{}/downloads" ,
104
- krate . name , num) ,
103
+ crate_name , num) ,
105
104
} ,
106
105
}
107
106
}
@@ -206,7 +205,7 @@ pub fn index(req: &mut Request) -> CargoResult<Response> {
206
205
// And respond!
207
206
let versions = versions. into_iter ( ) . map ( |v| {
208
207
let id = v. crate_id ;
209
- v. encodable ( map. find ( & id) . unwrap ( ) )
208
+ v. encodable ( map. find ( & id) . unwrap ( ) . as_slice ( ) )
210
209
} ) . collect ( ) ;
211
210
212
211
#[ deriving( Encodable ) ]
@@ -223,7 +222,7 @@ pub fn show(req: &mut Request) -> CargoResult<Response> {
223
222
224
223
#[ deriving( Encodable ) ]
225
224
struct R { version : EncodableVersion }
226
- Ok ( req. json ( & R { version : version. encodable ( & krate) } ) )
225
+ Ok ( req. json ( & R { version : version. encodable ( krate. name . as_slice ( ) ) } ) )
227
226
}
228
227
229
228
fn version_and_crate ( req : & mut Request ) -> CargoResult < ( Version , Crate ) > {
0 commit comments