]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
plugins/fts: Retry all 5xx tika http statuses, not only 500
authorSergey Kitov <sergey.kitov@open-xchange.com>
Tue, 12 Dec 2017 14:06:14 +0000 (16:06 +0200)
committerTimo Sirainen <timo.sirainen@dovecot.fi>
Tue, 12 Dec 2017 14:47:59 +0000 (16:47 +0200)
src/plugins/fts/fts-parser-tika.c

index 1e75121f82b1d834981ee529043bdc10177932a7..19ea80fa822cd40353d768a7691f732f3d8901f5 100644 (file)
@@ -109,21 +109,21 @@ fts_tika_parser_response(const struct http_response *response,
                }
                parser->payload = i_stream_create_from_data("", 0);
                break;
-       case 500:
-               parser->parser.may_need_retry = TRUE;
-               i_free(parser->parser.retriable_error_msg);
-               parser->parser.retriable_error_msg =
-                       i_strdup_printf("fts_tika: PUT %s failed: %s",
-                                       mail_user_plugin_getenv(parser->user, "fts_tika"),
-                                       http_response_get_message(response));
-               parser->payload = i_stream_create_from_data("", 0);
-               break;
-
        default:
-               i_error("fts_tika: PUT %s failed: %s",
-                       mail_user_plugin_getenv(parser->user, "fts_tika"),
-                       http_response_get_message(response));
-               parser->failed = TRUE;
+               if (response->status / 100 == 5) {
+                       parser->parser.may_need_retry = TRUE;
+                       i_free(parser->parser.retriable_error_msg);
+                       parser->parser.retriable_error_msg =
+                               i_strdup_printf("fts_tika: PUT %s failed: %s",
+                                               mail_user_plugin_getenv(parser->user, "fts_tika"),
+                                               http_response_get_message(response));
+                       parser->payload = i_stream_create_from_data("", 0);
+               } else {
+                       i_error("fts_tika: PUT %s failed: %s",
+                               mail_user_plugin_getenv(parser->user, "fts_tika"),
+                               http_response_get_message(response));
+                       parser->failed = TRUE;
+               }
                break;
        }
        parser->http_req = NULL;