Skip to content

Commit 4d43094

Browse files
committed
Only parse string values, do not parse nulls
1 parent 0ac62a8 commit 4d43094

File tree

2 files changed

+10
-10
lines changed

2 files changed

+10
-10
lines changed

core/src/main/java/org/elasticsearch/ElasticsearchException.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -436,17 +436,17 @@ private static ElasticsearchException innerFromXContent(XContentParser parser) t
436436
currentFieldName = parser.currentName();
437437
} else {
438438
List<String> values = headers.getOrDefault(currentFieldName, new ArrayList<>());
439-
if (token.isValue() || token == XContentParser.Token.VALUE_NULL) {
440-
values.add(parser.textOrNull());
439+
if (token == XContentParser.Token.VALUE_STRING) {
440+
values.add(parser.text());
441441
} else if (token == XContentParser.Token.START_ARRAY) {
442442
while ((token = parser.nextToken()) != XContentParser.Token.END_ARRAY) {
443-
if (token.isValue() || token == XContentParser.Token.VALUE_NULL) {
444-
values.add(parser.textOrNull());
443+
if (token == XContentParser.Token.VALUE_STRING) {
444+
values.add(parser.text());
445445
} else {
446446
parser.skipChildren();
447447
}
448448
}
449-
} else if (token == XContentParser.Token.START_ARRAY) {
449+
} else if (token == XContentParser.Token.START_OBJECT) {
450450
parser.skipChildren();
451451
}
452452
headers.put(currentFieldName, values);
@@ -463,8 +463,8 @@ private static ElasticsearchException innerFromXContent(XContentParser parser) t
463463
// Arrays of objects are not supported yet and just ignored and skipped.
464464
List<String> values = new ArrayList<>();
465465
while ((token = parser.nextToken()) != XContentParser.Token.END_ARRAY) {
466-
if (token.isValue() || token == XContentParser.Token.VALUE_NULL) {
467-
values.add(parser.textOrNull());
466+
if (token == XContentParser.Token.VALUE_STRING) {
467+
values.add(parser.text());
468468
} else {
469469
parser.skipChildren();
470470
}

core/src/test/java/org/elasticsearch/ElasticsearchExceptionTests.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -643,7 +643,7 @@ private static Tuple<Throwable, ElasticsearchException> randomExceptions() {
643643

644644
int nbValues = randomIntBetween(1, 3);
645645
for (int j = 0; j < nbValues; j++) {
646-
values.add(frequently() ? randomAsciiOfLength(5) : null);
646+
values.add(frequently() ? randomAsciiOfLength(5) : "");
647647
}
648648
randomHeaders.put("header_" + i, values);
649649
}
@@ -663,7 +663,7 @@ private static Tuple<Throwable, ElasticsearchException> randomExceptions() {
663663

664664
int nbValues = randomIntBetween(1, 3);
665665
for (int j = 0; j < nbValues; j++) {
666-
values.add(frequently() ? randomAsciiOfLength(5) : null);
666+
values.add(frequently() ? randomAsciiOfLength(5) : "");
667667
}
668668
randomMetadata.put("es.metadata_" + i, values);
669669
}
@@ -682,7 +682,7 @@ private static Tuple<Throwable, ElasticsearchException> randomExceptions() {
682682
if (frequently()) {
683683
resourceIds = new String[randomIntBetween(1, 3)];
684684
for (int j = 0; j < resourceIds.length; j++) {
685-
resourceIds[j] = frequently() ? randomAsciiOfLength(5) : null;
685+
resourceIds[j] = frequently() ? randomAsciiOfLength(5) : "";
686686
}
687687
}
688688
actualException.setResources(resourceType, resourceIds);

0 commit comments

Comments
 (0)