diff --git a/src/Elastic.Clients.Elasticsearch/Api/ResponseItem.cs b/src/Elastic.Clients.Elasticsearch/Api/ResponseItem.cs index cf6c182f8a4..f43dd53ef29 100644 --- a/src/Elastic.Clients.Elasticsearch/Api/ResponseItem.cs +++ b/src/Elastic.Clients.Elasticsearch/Api/ResponseItem.cs @@ -2,6 +2,8 @@ // Elasticsearch B.V licenses this file to you under the Apache 2.0 License. // See the LICENSE file in the project root for more information. +using System; + namespace Elastic.Clients.Elasticsearch.Core.Bulk; public abstract partial class ResponseItem @@ -15,12 +17,19 @@ public bool IsValid if (Error is not null) return false; - return Operation.ToLowerInvariant() switch + var operation = Operation; + + if (operation.Equals("delete", StringComparison.OrdinalIgnoreCase)) + return Status is 200 or 404; + + if (operation.Equals("create", StringComparison.OrdinalIgnoreCase) || + operation.Equals("update", StringComparison.OrdinalIgnoreCase) || + operation.Equals("index", StringComparison.OrdinalIgnoreCase)) { - "delete" => Status == 200 || Status == 404, - "update" or "index" or "create" => Status == 200 || Status == 201, - _ => false, - }; + return Status is 200 or 201; + } + + return false; } } }