Skip to content

Commit a7e0cfd

Browse files
committed
Fix #1867 objects can now be serialized in register percolater metadata
1 parent 307fe5d commit a7e0cfd

File tree

2 files changed

+13
-3
lines changed

2 files changed

+13
-3
lines changed

src/Nest/Search/Percolator/RegisterPercolator/RegisterPercolatorJsonConverter.cs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,14 @@ public override void WriteJson(JsonWriter writer, object value, JsonSerializer s
4949
foreach(var kv in request.Metadata)
5050
{
5151
writer.WritePropertyName(kv.Key);
52-
writer.WriteValue(kv.Value);
52+
if (kv.Value.GetType().IsValueType)
53+
{
54+
writer.WriteValue(kv.Value);
55+
}
56+
else
57+
{
58+
serializer.Serialize(writer, kv.Value);
59+
}
5360
}
5461
}
5562

src/Tests/Search/Percolator/RegisterPercolator/RegisterPercolatorApiTests.cs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,8 @@ protected override LazyResponses ClientUsage() => Calls(
4747
match = new { name = new { query = "nest" } }
4848
},
4949
language = "c#",
50-
commits = 5000
50+
commits = 5000,
51+
project = Project.Instance
5152
};
5253

5354
protected override void ExpectResponse(IRegisterPercolatorResponse response)
@@ -70,6 +71,7 @@ protected override void ExpectResponse(IRegisterPercolatorResponse response)
7071
.Metadata(md => md
7172
.Add("language", "c#")
7273
.Add("commits", 5000)
74+
.Add("project", Project.Instance)
7375
);
7476

7577
protected override RegisterPercolatorRequest Initializer => new RegisterPercolatorRequest(this.CallIsolatedValue + "-index", this.CallIsolatedValue)
@@ -82,7 +84,8 @@ protected override void ExpectResponse(IRegisterPercolatorResponse response)
8284
Metadata = new Dictionary<string, object>
8385
{
8486
{ "language", "c#" },
85-
{ "commits", 5000 }
87+
{ "commits", 5000 },
88+
{ "project", Project.Instance }
8689
}
8790
};
8891
}

0 commit comments

Comments
 (0)