fix filecount desync
This commit is contained in:
parent
471649fdec
commit
1554233e12
|
@ -224,7 +224,7 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "breeze"
|
name = "breeze"
|
||||||
version = "0.3.0"
|
version = "0.3.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"argh",
|
"argh",
|
||||||
"atomic-time",
|
"atomic-time",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
[package]
|
[package]
|
||||||
name = "breeze"
|
name = "breeze"
|
||||||
version = "0.3.0"
|
version = "0.3.1"
|
||||||
edition = "2024"
|
edition = "2024"
|
||||||
|
|
||||||
[profile.dev.package]
|
[profile.dev.package]
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
use std::sync::Arc;
|
use std::sync::{Arc, atomic::Ordering};
|
||||||
|
|
||||||
use axum::extract::{Query, State};
|
use axum::extract::{Query, State};
|
||||||
use base64::{Engine, prelude::BASE64_URL_SAFE_NO_PAD};
|
use base64::{Engine, prelude::BASE64_URL_SAFE_NO_PAD};
|
||||||
|
@ -82,5 +82,8 @@ pub async fn delete(
|
||||||
return (StatusCode::INTERNAL_SERVER_ERROR, "Delete failed");
|
return (StatusCode::INTERNAL_SERVER_ERROR, "Delete failed");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// decrement upload count
|
||||||
|
engine.upl_count.fetch_sub(1, Ordering::Relaxed);
|
||||||
|
|
||||||
(StatusCode::OK, "Deleted successfully!")
|
(StatusCode::OK, "Deleted successfully!")
|
||||||
}
|
}
|
||||||
|
|
16
src/disk.rs
16
src/disk.rs
|
@ -77,16 +77,20 @@ impl Disk {
|
||||||
|
|
||||||
tokio::spawn(async move {
|
tokio::spawn(async move {
|
||||||
// create file to save upload to
|
// create file to save upload to
|
||||||
let mut file = File::create(p)
|
let file = File::create(p).await;
|
||||||
.await
|
|
||||||
.expect("could not open file! make sure your upload path is valid");
|
if let Err(err) = file {
|
||||||
|
tracing::error!(%err, "could not open file! make sure your upload path is valid");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
let mut file = file.unwrap();
|
||||||
|
|
||||||
// receive chunks and save them to file
|
// receive chunks and save them to file
|
||||||
while let Some(chunk) = rx.recv().await {
|
while let Some(chunk) = rx.recv().await {
|
||||||
debug!("writing chunk to disk (length: {})", chunk.len());
|
debug!("writing chunk to disk (length: {})", chunk.len());
|
||||||
file.write_all(&chunk)
|
if let Err(err) = file.write_all(&chunk).await {
|
||||||
.await
|
tracing::error!(%err, "error while writing file to disk");
|
||||||
.expect("error while writing file to disk");
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -343,7 +343,7 @@ impl Engine {
|
||||||
|
|
||||||
/// Wipe out an upload from all storage.
|
/// Wipe out an upload from all storage.
|
||||||
///
|
///
|
||||||
/// This is for deleting failed uploads only!!
|
/// (Intended for deletion URLs and failed uploads)
|
||||||
pub async fn remove(&self, saved_name: &str) -> eyre::Result<()> {
|
pub async fn remove(&self, saved_name: &str) -> eyre::Result<()> {
|
||||||
info!(saved_name, "!! removing upload");
|
info!(saved_name, "!! removing upload");
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue