From: Jerome Jutteau Date: Tue, 5 Jul 2022 06:23:01 +0000 (+0200) Subject: [BUGFIX] retry transfering with lower size for any HTTP error code X-Git-Tag: 4.5.0~16 X-Git-Url: https://git.p6c8.net/jirafeau_mojo42.git/commitdiff_plain/b8d29136e66d51b7ed00d8f34deace7a58c82aaf [BUGFIX] retry transfering with lower size for any HTTP error code When a timeout is too low compared to sent size, server will return a 500 error. Jirafeau retry to send again but do not try to reduce chunk size. This patch will make Jiarfeau split in half it's sent size each an error occurs. ref #273 Signed-off-by: Jerome Jutteau --- diff --git a/lib/functions.js.php b/lib/functions.js.php index 1114dfd..f5f7d54 100644 --- a/lib/functions.js.php +++ b/lib/functions.js.php @@ -529,11 +529,11 @@ function async_upload_push (code) } else { - if (req.status == 413) // Request Entity Too Large - { - // lower async_global_max_size and retry - async_global_max_size = Math.max(1, parseInt (async_global_max_size * 0.8)); - } + // lower async_global_max_size and retry + // This can occurs in several cases: + // - Request Entity Too Large (413) due to server bad configuration relative to PHP configuration + // - Server Error (500) which can happen when PHP's `max_execution_time` is too low comparared to sent size + async_global_max_size = Math.max(1, parseInt (async_global_max_size * 0.5)); async_upload_push (async_global_last_code); return; }