chore: bump deps; fix clippy lints & cleanup
Signed-off-by: NotAShelf <raf@notashelf.dev> Change-Id: I4c4815ad145650a07f108614034d2e996a6a6964
This commit is contained in:
parent
c535650f45
commit
cd1161ee5d
41 changed files with 1283 additions and 740 deletions
|
|
@ -301,7 +301,7 @@ pub async fn report_changes(
|
|||
if !config.sync.enabled {
|
||||
return Err(ApiError::bad_request("Sync is not enabled"));
|
||||
}
|
||||
let conflict_resolution = config.sync.default_conflict_resolution.clone();
|
||||
let conflict_resolution = config.sync.default_conflict_resolution;
|
||||
drop(config);
|
||||
|
||||
let mut accepted = Vec::new();
|
||||
|
|
@ -514,7 +514,7 @@ pub async fn create_upload(
|
|||
.ok_or_else(|| ApiError::unauthorized("Invalid device token"))?;
|
||||
|
||||
let chunk_size = req.chunk_size.unwrap_or(DEFAULT_CHUNK_SIZE);
|
||||
let chunk_count = (req.expected_size + chunk_size - 1) / chunk_size;
|
||||
let chunk_count = req.expected_size.div_ceil(chunk_size);
|
||||
let now = Utc::now();
|
||||
|
||||
let session = UploadSession {
|
||||
|
|
@ -784,10 +784,10 @@ pub async fn cancel_upload(
|
|||
})?;
|
||||
|
||||
// Clean up temp file if manager is available
|
||||
if let Some(ref manager) = state.chunked_upload_manager {
|
||||
if let Err(e) = manager.cancel(id).await {
|
||||
tracing::warn!(session_id = %id, error = %e, "failed to clean up temp file");
|
||||
}
|
||||
if let Some(ref manager) = state.chunked_upload_manager
|
||||
&& let Err(e) = manager.cancel(id).await
|
||||
{
|
||||
tracing::warn!(session_id = %id, error = %e, "failed to clean up temp file");
|
||||
}
|
||||
|
||||
session.status = UploadStatus::Cancelled;
|
||||
|
|
@ -827,38 +827,37 @@ pub async fn download_file(
|
|||
let file_size = metadata.len();
|
||||
|
||||
// Check for Range header
|
||||
if let Some(range_header) = headers.get(header::RANGE) {
|
||||
if let Ok(range_str) = range_header.to_str() {
|
||||
if let Some(range) = parse_range_header(range_str, file_size) {
|
||||
// Partial content response
|
||||
let (start, end) = range;
|
||||
let length = end - start + 1;
|
||||
if let Some(range_header) = headers.get(header::RANGE)
|
||||
&& let Ok(range_str) = range_header.to_str()
|
||||
&& let Some(range) = parse_range_header(range_str, file_size)
|
||||
{
|
||||
// Partial content response
|
||||
let (start, end) = range;
|
||||
let length = end - start + 1;
|
||||
|
||||
let file = tokio::fs::File::open(&item.path).await.map_err(|e| {
|
||||
ApiError::internal(format!("Failed to reopen file: {}", e))
|
||||
})?;
|
||||
let file = tokio::fs::File::open(&item.path).await.map_err(|e| {
|
||||
ApiError::internal(format!("Failed to reopen file: {}", e))
|
||||
})?;
|
||||
|
||||
let stream = ReaderStream::new(file);
|
||||
let body = Body::from_stream(stream);
|
||||
let stream = ReaderStream::new(file);
|
||||
let body = Body::from_stream(stream);
|
||||
|
||||
return Ok(
|
||||
return Ok(
|
||||
(
|
||||
StatusCode::PARTIAL_CONTENT,
|
||||
[
|
||||
(header::CONTENT_TYPE, item.media_type.mime_type()),
|
||||
(header::CONTENT_LENGTH, length.to_string()),
|
||||
(
|
||||
StatusCode::PARTIAL_CONTENT,
|
||||
[
|
||||
(header::CONTENT_TYPE, item.media_type.mime_type()),
|
||||
(header::CONTENT_LENGTH, length.to_string()),
|
||||
(
|
||||
header::CONTENT_RANGE,
|
||||
format!("bytes {}-{}/{}", start, end, file_size),
|
||||
),
|
||||
(header::ACCEPT_RANGES, "bytes".to_string()),
|
||||
],
|
||||
body,
|
||||
)
|
||||
.into_response(),
|
||||
);
|
||||
}
|
||||
}
|
||||
header::CONTENT_RANGE,
|
||||
format!("bytes {}-{}/{}", start, end, file_size),
|
||||
),
|
||||
(header::ACCEPT_RANGES, "bytes".to_string()),
|
||||
],
|
||||
body,
|
||||
)
|
||||
.into_response(),
|
||||
);
|
||||
}
|
||||
|
||||
// Full content response
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue