code cleanup
This commit is contained in:
parent
78d0783b00
commit
a0efdca18b
29
src/main.rs
29
src/main.rs
|
@ -165,16 +165,9 @@ fn handle_sync_api_request<'a>(
|
||||||
Box::new(resp)
|
Box::new(resp)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn handle_static_file_download(filename: PathBuf) -> BoxFut {
|
fn simple_static_file_download(filename: PathBuf) -> BoxFut {
|
||||||
|
|
||||||
let response = tokio::fs::metadata(filename.clone())
|
Box::new(File::open(filename)
|
||||||
.map_err(|err| format_err!("File access problems: {}", err))
|
|
||||||
.and_then(|metadata| {
|
|
||||||
println!("TEST METADATA {:?} {}", metadata, metadata.len());
|
|
||||||
|
|
||||||
if metadata.len() < 1024*8 {
|
|
||||||
println!("SMALL SIZED FILE");
|
|
||||||
Either::A(File::open(filename)
|
|
||||||
.map_err(|err| format_err!("File open failed: {}", err))
|
.map_err(|err| format_err!("File open failed: {}", err))
|
||||||
.and_then(|file| {
|
.and_then(|file| {
|
||||||
let buf: Vec<u8> = Vec::new();
|
let buf: Vec<u8> = Vec::new();
|
||||||
|
@ -182,10 +175,11 @@ fn handle_static_file_download(filename: PathBuf) -> BoxFut {
|
||||||
.map_err(|err| format_err!("File read failed: {}", err))
|
.map_err(|err| format_err!("File read failed: {}", err))
|
||||||
.and_then(|data| Ok(Response::new(data.1.into())))
|
.and_then(|data| Ok(Response::new(data.1.into())))
|
||||||
}))
|
}))
|
||||||
|
}
|
||||||
|
|
||||||
} else {
|
fn chuncked_static_file_download(filename: PathBuf) -> BoxFut {
|
||||||
Either::B(
|
|
||||||
File::open(filename)
|
Box::new(File::open(filename)
|
||||||
.map_err(|err| format_err!("File open failed: {}", err))
|
.map_err(|err| format_err!("File open failed: {}", err))
|
||||||
.and_then(|file| {
|
.and_then(|file| {
|
||||||
let payload = tokio_codec::FramedRead::new(file, tokio_codec::BytesCodec::new()).
|
let payload = tokio_codec::FramedRead::new(file, tokio_codec::BytesCodec::new()).
|
||||||
|
@ -201,6 +195,17 @@ fn handle_static_file_download(filename: PathBuf) -> BoxFut {
|
||||||
.unwrap())
|
.unwrap())
|
||||||
}))
|
}))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn handle_static_file_download(filename: PathBuf) -> BoxFut {
|
||||||
|
|
||||||
|
let response = tokio::fs::metadata(filename.clone())
|
||||||
|
.map_err(|err| format_err!("File access problems: {}", err))
|
||||||
|
.and_then(|metadata| {
|
||||||
|
if metadata.len() < 1024*32 {
|
||||||
|
Either::A(simple_static_file_download(filename))
|
||||||
|
} else {
|
||||||
|
Either::B(chuncked_static_file_download(filename))
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
return Box::new(response);
|
return Box::new(response);
|
||||||
|
|
Loading…
Reference in New Issue