-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Description
NEST/Elasticsearch.Net version:
7.6.2
Elasticsearch version:
7.6.2
Description of the problem including expected versus actual behavior:
A clear and concise description of what the bug is.
Steps to reproduce:
var queryData = "{\"default_operator\":\"AND\",\"query\":\"Hans Mueller\"}";
var elasticClient = new ElasticClient();
elasticClient.RequestResponseSerializer.Deserialize<QueryStringQuery>(new MemoryStream(Encoding.UTF8.GetBytes(queryData)));
Expected behavior
Enum Parser should ignore case.
Change Line 188 to: value = (T)Enum.Parse(typeof(T), str, true); // Enum.Parse is slow
Provide DebugInformation (if relevant):
System.ArgumentException
HResult=0x80070057
Message=The requested value "AND" could not be found.
Source=mscorlib
StackTrace:
at System.Enum.TryParseEnum(Type enumType, String value, Boolean ignoreCase, EnumResult& parseResult)
at System.Enum.Parse(Type enumType, String value, Boolean ignoreCase)
at Elasticsearch.Net.Utf8Json.Formatters.EnumFormatter1.Deserialize(JsonReader& reader, IJsonFormatterResolver formatterResolver) in C:\Users\russc\source\elasticsearch-net\src\Elasticsearch.Net\Utf8Json\Formatters\EnumFormatter.cs:line 188 at Elasticsearch.Net.Utf8Json.Formatters.StaticNullableFormatter
1.Deserialize(JsonReader& reader, IJsonFormatterResolver formatterResolver) in C:\Users\russc\source\elasticsearch-net\src\Elasticsearch.Net\Utf8Json\Formatters\NullableFormatter.cs:line 100
at Elasticsearch.Net.Utf8Json.JsonSerializer.Deserialize[T](Byte[] bytes, Int32 offset, IJsonFormatterResolver resolver) in C:\Users\russc\source\elasticsearch-net\src\Elasticsearch.Net\Utf8Json\JsonSerializer.cs:line 262
at Elasticsearch.Net.Utf8Json.JsonSerializer.Deserialize[T](Stream stream, IJsonFormatterResolver resolver) in C:\Users\russc\source\elasticsearch-net\src\Elasticsearch.Net\Utf8Json\JsonSerializer.cs:line 323
at Elasticsearch.Net.DiagnosticsSerializerProxy.Deserialize[T](Stream stream) in C:\Users\russc\source\elasticsearch-net\src\Elasticsearch.Net\Serialization\DiagnosticsSerializerProxy.cs:line 78
This exception was originally thrown at this call stack:
System.Enum.TryParseEnum(System.Type, string, bool, ref System.Enum.EnumResult)
System.Enum.Parse(System.Type, string, bool)
Elasticsearch.Net.Utf8Json.Formatters.EnumFormatter.Deserialize(ref Elasticsearch.Net.Utf8Json.JsonReader, Elasticsearch.Net.Utf8Json.IJsonFormatterResolver) in EnumFormatter.cs
Elasticsearch.Net.Utf8Json.Formatters.StaticNullableFormatter.Deserialize(ref Elasticsearch.Net.Utf8Json.JsonReader, Elasticsearch.Net.Utf8Json.IJsonFormatterResolver) in NullableFormatter.cs
Elasticsearch.Net.Utf8Json.JsonSerializer.Deserialize(byte[], int, Elasticsearch.Net.Utf8Json.IJsonFormatterResolver) in JsonSerializer.cs
Elasticsearch.Net.Utf8Json.JsonSerializer.Deserialize(System.IO.Stream, Elasticsearch.Net.Utf8Json.IJsonFormatterResolver) in JsonSerializer.cs
Elasticsearch.Net.DiagnosticsSerializerProxy.Deserialize(System.IO.Stream) in DiagnosticsSerializerProxy.cs