@@ -192,22 +192,26 @@ fn get_readme(
192
192
}
193
193
194
194
let reader = GzDecoder :: new ( response) ;
195
- let mut archive = Archive :: new ( reader) ;
195
+ let archive = Archive :: new ( reader) ;
196
+ render_pkg_readme ( archive, & pkg_name)
197
+ }
198
+
199
+ fn render_pkg_readme < R : Read > ( mut archive : Archive < R > , pkg_name : & str ) -> Option < String > {
196
200
let mut entries = archive
197
201
. entries ( )
198
202
. unwrap_or_else ( |_| panic ! ( "[{}] Invalid tar archive entries" , pkg_name) ) ;
199
203
200
204
let manifest: Manifest = {
201
205
let path = format ! ( "{}/Cargo.toml" , pkg_name) ;
202
- let contents = find_file_by_path ( & mut entries, Path :: new ( & path) , & pkg_name) ;
206
+ let contents = find_file_by_path ( & mut entries, Path :: new ( & path) , pkg_name) ;
203
207
toml:: from_str ( & contents)
204
208
. unwrap_or_else ( |_| panic ! ( "[{}] Syntax error in manifest file" , pkg_name) )
205
209
} ;
206
210
207
211
let rendered = {
208
212
let readme_path = manifest. package . readme . as_ref ( ) ?;
209
213
let path = format ! ( "{}/{}" , pkg_name, readme_path) ;
210
- let contents = find_file_by_path ( & mut entries, Path :: new ( & path) , & pkg_name) ;
214
+ let contents = find_file_by_path ( & mut entries, Path :: new ( & path) , pkg_name) ;
211
215
text_to_html (
212
216
& contents,
213
217
readme_path,
0 commit comments