Adjust compression_rate semantics and no-charge at 100%

This commit is contained in:
2025-12-20 16:28:14 +08:00
parent 0d4e2b9ab1
commit 04483c6ef1
7 changed files with 50 additions and 23 deletions

View File

@@ -260,7 +260,8 @@ async fn compress_json(
} else {
(saved_bytes as f64) * 100.0 / (original_size as f64)
};
let charge_units = compressed_size < original_size;
let skip_charge = req.compression_rate == Some(100);
let charge_units = !skip_charge && compressed_size < original_size;
if charge_units {
if let QuotaContext::Anonymous { session_id, ip } = &quota_ctx {
@@ -616,7 +617,8 @@ async fn compress_direct(
} else {
(saved_bytes as f64) * 100.0 / (original_size as f64)
};
let charge_units = compressed_size < original_size;
let skip_charge = req.compression_rate == Some(100);
let charge_units = !skip_charge && compressed_size < original_size;
if state.config.storage_type.to_ascii_lowercase() != "local" {
return Err(AppError::new(