-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make low level client use System.text.json #4679
Conversation
Kick this off again to see why |
656311f
to
83373e4
Compare
rebased against master |
83373e4
to
7daa640
Compare
canary packages are currently failing to be built for this because ILRepack cannot resolve the netstandard20 System.Text.Json assembly when running the "merge" for netstandard21
I've opened nullean/assembly-rewriter#7 to allow AssemblyRewriter to sign the rewritten versioned canary packages, which would allow ILRepack to be removed, since it is only being used to sign the assembly in the master and 7.x branches. |
tests/Tests/Framework/SerializationTests/ExceptionSerializationTests.cs
Outdated
Show resolved
Hide resolved
13b136e
to
47ebd8b
Compare
Currently part of the main distributable, possibly living in a separate nuget package later (cherry picked from commit 9d0427d)
(cherry picked from commit f20285f)
(cherry picked from commit d8a188e)
…ly by relying on a default on ConnectionConfiguration.cs (cherry picked from commit c86f255)
This commit removes the explicit reference to System.Memory. It's a transitive dependency of System.Text.Json, which references a higher minimal version.
This commit adds an ExceptionConverter to serialize exceptions with System.Text.Json in the same manner as Utf8Json. Do not serialize nulls with System.Text.Json, and allow a derived serializer to change JsonSerializerOptions. JsonSerializerOptions are lazily constructed in the ctor because they are created by a virtual method.
47ebd8b
to
138bc04
Compare
@russcam this is starting to look good to me! Some updated on this on my end
If you have time to:
I'm happy if we merge this to |
ResponseBuilder was asking the Utf8Json serializer to deserialize to DynamicDictonary. This also updates DynamicValue to deal with the fact that deserializing to `Dictionary<string, object>` does not materialize `object` these remain `JsonElement`.
ResponseBuilder was asking the Utf8Json serializer to deserialize to DynamicDictionary. This also updates |
The failing integration tests relate to Merging this in! |
Will follow up with a PR to:
|
re-targeting #4211 to
master
This introduces an
IElasticsearchSerializer
implementation forSystem.Text.Json
.TODO:
LowLevelRequestResponseSerializer
Utf8Json
toNest
DynamicDictionaryFormatter
Long term plan is for
Nest
to move over toSystem.Text.Json
as well but this will require significant investment in porting formatters over.