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 <jerome@jutteau.fr>
- 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;
}
async_upload_push (async_global_last_code);
return;
}