mirror of
https://github.com/flibusta-apps/fb2converter_server.git
synced 2025-12-06 15:05:37 +01:00
This commit is contained in:
22
src/main.rs
22
src/main.rs
@@ -64,24 +64,22 @@ async fn convert_file(Path(file_format): Path<String>, body: Body) -> impl IntoR
|
|||||||
while let Some(chunk) = data_stream.next().await {
|
while let Some(chunk) = data_stream.next().await {
|
||||||
let data = match chunk {
|
let data = match chunk {
|
||||||
Ok(v) => v,
|
Ok(v) => v,
|
||||||
Err(err) => {
|
Err(_err) => {
|
||||||
log::error!("{:?}", err);
|
return StatusCode::BAD_REQUEST.into_response();
|
||||||
return StatusCode::INTERNAL_SERVER_ERROR.into_response();
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
match tempfile_rw.write(data.as_ref()).await {
|
match tempfile_rw.write(data.as_ref()).await {
|
||||||
Ok(_) => (),
|
Ok(_) => (),
|
||||||
Err(err) => {
|
Err(_err) => {
|
||||||
log::error!("{:?}", err);
|
return StatusCode::NO_CONTENT.into_response();
|
||||||
return StatusCode::INTERNAL_SERVER_ERROR.into_response();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let _ = tempfile_rw.flush().await;
|
let _ = tempfile_rw.flush().await;
|
||||||
|
|
||||||
let allowed_formats = vec!["epub".to_string(), "mobi".to_string()];
|
let allowed_formats = ["epub".to_string(), "mobi".to_string()];
|
||||||
if !allowed_formats.contains(&file_format.clone().to_lowercase()) {
|
if !allowed_formats.contains(&file_format.clone().to_lowercase()) {
|
||||||
return StatusCode::BAD_REQUEST.into_response();
|
return StatusCode::BAD_REQUEST.into_response();
|
||||||
}
|
}
|
||||||
@@ -96,9 +94,8 @@ async fn convert_file(Path(file_format): Path<String>, body: Body) -> impl IntoR
|
|||||||
.await
|
.await
|
||||||
{
|
{
|
||||||
Ok(v) => v,
|
Ok(v) => v,
|
||||||
Err(err) => {
|
Err(_err) => {
|
||||||
log::error!("{:?}", err);
|
return StatusCode::NO_CONTENT.into_response();
|
||||||
return StatusCode::INTERNAL_SERVER_ERROR.into_response();
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -109,9 +106,8 @@ async fn convert_file(Path(file_format): Path<String>, body: Body) -> impl IntoR
|
|||||||
|
|
||||||
let mut result_file = match File::open(format!("/tmp/{prefix}.{file_format}")).await {
|
let mut result_file = match File::open(format!("/tmp/{prefix}.{file_format}")).await {
|
||||||
Ok(v) => v,
|
Ok(v) => v,
|
||||||
Err(err) => {
|
Err(_err) => {
|
||||||
log::error!("{:?}", err);
|
return StatusCode::NO_CONTENT.into_response();
|
||||||
return StatusCode::INTERNAL_SERVER_ERROR.into_response();
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user