Skip to content

Commit d034c05

Browse files
committed
Jackson2Tokenizer passes DeserializationContext into all TokenBuffers
See spring-projectsgh-22510
1 parent 216e4ee commit d034c05

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

spring-web/src/main/java/org/springframework/http/codec/json/Jackson2Tokenizer.java

+5-2
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,8 @@ final class Jackson2Tokenizer {
4848

4949
private final JsonParser parser;
5050

51+
private final DeserializationContext deserializationContext;
52+
5153
private final boolean tokenizeArrayElements;
5254

5355
private TokenBuffer tokenBuffer;
@@ -65,6 +67,7 @@ private Jackson2Tokenizer(
6567
JsonParser parser, DeserializationContext deserializationContext, boolean tokenizeArrayElements) {
6668

6769
this.parser = parser;
70+
this.deserializationContext = deserializationContext;
6871
this.tokenizeArrayElements = tokenizeArrayElements;
6972
this.tokenBuffer = new TokenBuffer(parser, deserializationContext);
7073
this.inputFeeder = (ByteArrayFeeder) this.parser.getNonBlockingInputFeeder();
@@ -144,7 +147,7 @@ private void processTokenNormal(JsonToken token, List<TokenBuffer> result) throw
144147

145148
if ((token.isStructEnd() || token.isScalarValue()) && this.objectDepth == 0 && this.arrayDepth == 0) {
146149
result.add(this.tokenBuffer);
147-
this.tokenBuffer = new TokenBuffer(this.parser);
150+
this.tokenBuffer = new TokenBuffer(this.parser, this.deserializationContext);
148151
}
149152

150153
}
@@ -157,7 +160,7 @@ private void processTokenArray(JsonToken token, List<TokenBuffer> result) throws
157160
if (this.objectDepth == 0 && (this.arrayDepth == 0 || this.arrayDepth == 1) &&
158161
(token == JsonToken.END_OBJECT || token.isScalarValue())) {
159162
result.add(this.tokenBuffer);
160-
this.tokenBuffer = new TokenBuffer(this.parser);
163+
this.tokenBuffer = new TokenBuffer(this.parser, this.deserializationContext);
161164
}
162165
}
163166

0 commit comments

Comments
 (0)