From 722be7e3d74f095db749a9c93df4c618f67371bd Mon Sep 17 00:00:00 2001 From: Ricardo Noriega Date: Fri, 28 Oct 2022 13:59:08 +0200 Subject: [PATCH] Enabling retry for HTTP 500 internal server error Signed-off-by: Ricardo Noriega Use G_IO_ERROR_BUSY to represent 500 error Signed-off-by: Ricardo Noriega Make G_IO_ERROR_BUSY independent from glib version Signed-off-by: Ricardo Noriega --- src/libostree/ostree-fetcher-util.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/libostree/ostree-fetcher-util.c b/src/libostree/ostree-fetcher-util.c index 450a3abe..1b317630 100644 --- a/src/libostree/ostree-fetcher-util.c +++ b/src/libostree/ostree-fetcher-util.c @@ -239,6 +239,7 @@ _ostree_fetcher_should_retry_request (const GError *error, g_error_matches (error, G_IO_ERROR, G_IO_ERROR_HOST_NOT_FOUND) || g_error_matches (error, G_IO_ERROR, G_IO_ERROR_HOST_UNREACHABLE) || g_error_matches (error, G_IO_ERROR, G_IO_ERROR_PARTIAL_INPUT) || + g_error_matches (error, G_IO_ERROR, G_IO_ERROR_BUSY) || #if !GLIB_CHECK_VERSION(2, 44, 0) g_error_matches (error, G_IO_ERROR, G_IO_ERROR_BROKEN_PIPE) || #else @@ -269,6 +270,8 @@ _ostree_fetcher_http_status_code_to_io_error (guint status_code) return G_IO_ERROR_NOT_FOUND; case 408: /* SOUP_STATUS_REQUEST_TIMEOUT */ return G_IO_ERROR_TIMED_OUT; + case 500: /* SOUP_STATUS_INTERNAL_SERVER_ERROR */ + return G_IO_ERROR_BUSY; default: return G_IO_ERROR_FAILED; }