1
0
mirror of https://github.com/jht5945/buildj.git synced 2026-01-12 08:20:03 +08:00
This commit is contained in:
2020-05-02 14:51:59 +08:00
parent 0667b3d481
commit dc116799e0
5 changed files with 25 additions and 11 deletions

View File

@@ -1,12 +1,12 @@
use std::fs::File;
use rust_util::{
XResult,
util_io::copy_io,
util_msg::{
print_message,
MessageType,
},
XResult,
};
use super::misc::VERBOSE;
@@ -18,7 +18,20 @@ pub fn download_url(url: &str, dest: &mut File) -> XResult<()> {
let mut response = reqwest::get(url)?;
let header_content_length: i64 = match response.headers().get("content-length") {
None => -1_i64,
Some(len_value) => len_value.to_str().unwrap().parse::<i64>().unwrap(),
Some(len_value) => {
let len_str = match len_value.to_str() {
Ok(len_str) => len_str, Err(err) => {
print_message(MessageType::WARN, &format!("Get content length for {:?}, error: {}", len_value, err));
"-1"
},
};
match len_str.parse::<i64>() {
Ok(len) => len, Err(err) => {
print_message(MessageType::WARN, &format!("Get content length for {:?}, error: {}", len_value, err));
-1
}
}
},
};
if *VERBOSE {
print_message(MessageType::DEBUG, &format!("Content-Length: {}", header_content_length));