Skip to content

Commit 16f1414

Browse files
committed
Merge branch '5.2.x'
# Conflicts: # build.gradle
2 parents 9999414 + b5b718f commit 16f1414

File tree

3 files changed

+22
-29
lines changed

3 files changed

+22
-29
lines changed

build.gradle

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ configure(allprojects) { project ->
3333
mavenBom "org.junit:junit-bom:5.6.2"
3434
}
3535
dependencies {
36-
dependencySet(group: 'org.apache.logging.log4j', version: '2.13.2') {
36+
dependencySet(group: 'org.apache.logging.log4j', version: '2.13.3') {
3737
entry 'log4j-api'
3838
entry 'log4j-core'
3939
entry 'log4j-slf4j-impl'
@@ -86,11 +86,11 @@ configure(allprojects) { project ->
8686
dependency "org.yaml:snakeyaml:1.26"
8787

8888
dependency "com.h2database:h2:1.4.200"
89-
dependency "com.github.ben-manes.caffeine:caffeine:2.8.1"
90-
dependency "com.github.librepdf:openpdf:1.3.14"
89+
dependency "com.github.ben-manes.caffeine:caffeine:2.8.3"
90+
dependency "com.github.librepdf:openpdf:1.3.17"
9191
dependency "com.rometools:rome:1.12.2"
9292
dependency "commons-io:commons-io:2.5"
93-
dependency "io.vavr:vavr:0.10.2"
93+
dependency "io.vavr:vavr:0.10.3"
9494
dependency "net.sf.jopt-simple:jopt-simple:5.0.4"
9595
dependencySet(group: 'org.apache.activemq', version: '5.8.0') {
9696
entry 'activemq-broker'
@@ -141,7 +141,7 @@ configure(allprojects) { project ->
141141
}
142142
}
143143

144-
dependencySet(group: 'com.squareup.okhttp3', version: '3.14.7') {
144+
dependencySet(group: 'com.squareup.okhttp3', version: '3.14.9') {
145145
entry 'okhttp'
146146
entry 'mockwebserver'
147147
}
@@ -180,7 +180,7 @@ configure(allprojects) { project ->
180180
dependency "org.testng:testng:7.1.0"
181181
dependency "org.hamcrest:hamcrest:2.1"
182182
dependency "org.awaitility:awaitility:3.1.6"
183-
dependency "org.assertj:assertj-core:3.16.0"
183+
dependency "org.assertj:assertj-core:3.16.1"
184184
dependencySet(group: 'org.xmlunit', version: '2.6.2') {
185185
entry 'xmlunit-assertj'
186186
entry('xmlunit-matchers') {
@@ -195,10 +195,10 @@ configure(allprojects) { project ->
195195
}
196196
dependency "io.mockk:mockk:1.10.0"
197197

198-
dependency("net.sourceforge.htmlunit:htmlunit:2.39.1") {
198+
dependency("net.sourceforge.htmlunit:htmlunit:2.40.0") {
199199
exclude group: "commons-logging", name: "commons-logging"
200200
}
201-
dependency("org.seleniumhq.selenium:htmlunit-driver:2.39.0") {
201+
dependency("org.seleniumhq.selenium:htmlunit-driver:2.40.0") {
202202
exclude group: "commons-logging", name: "commons-logging"
203203
}
204204
dependency("org.seleniumhq.selenium:selenium-java:3.141.59") {
@@ -224,8 +224,8 @@ configure(allprojects) { project ->
224224
}
225225

226226
dependency "com.ibm.websphere:uow:6.0.2.17"
227-
dependency "com.jamonapi:jamon:2.81"
228-
dependency "joda-time:joda-time:2.10.5"
227+
dependency "com.jamonapi:jamon:2.82"
228+
dependency "joda-time:joda-time:2.10.6"
229229
dependency "org.eclipse.persistence:org.eclipse.persistence.jpa:2.7.6"
230230
dependency "org.javamoney:moneta:1.3"
231231

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

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -47,19 +47,17 @@
4747
*/
4848
public class ServerSentEventHttpMessageReader implements HttpMessageReader<Object> {
4949

50-
private static final DataBufferFactory bufferFactory = new DefaultDataBufferFactory();
51-
5250
private static final ResolvableType STRING_TYPE = ResolvableType.forClass(String.class);
5351

52+
private static final DataBufferFactory bufferFactory = new DefaultDataBufferFactory();
53+
5454

5555
@Nullable
5656
private final Decoder<?> decoder;
5757

5858
private final StringDecoder lineDecoder = StringDecoder.textPlainOnly();
5959

6060

61-
62-
6361
/**
6462
* Constructor without a {@code Decoder}. In this mode only {@code String}
6563
* is supported as the data of an event.
@@ -171,31 +169,31 @@ else if (line.startsWith(":")) {
171169
}
172170
}
173171

174-
Object decodedData = (data != null ? decodeData(data.toString(), valueType, hints) : null);
172+
Object decodedData = (data != null ? decodeData(data, valueType, hints) : null);
175173

176174
if (shouldWrap) {
177175
if (comment != null) {
178-
sseBuilder.comment(comment.toString().substring(0, comment.length() - 1));
176+
sseBuilder.comment(comment.substring(0, comment.length() - 1));
179177
}
180178
if (decodedData != null) {
181179
sseBuilder.data(decodedData);
182180
}
183181
return sseBuilder.build();
184182
}
185183
else {
186-
return (decodedData);
184+
return decodedData;
187185
}
188186
}
189187

190188
@Nullable
191-
private Object decodeData(String data, ResolvableType dataType, Map<String, Object> hints) {
189+
private Object decodeData(StringBuilder data, ResolvableType dataType, Map<String, Object> hints) {
192190
if (String.class == dataType.resolve()) {
193191
return data.substring(0, data.length() - 1);
194192
}
195193
if (this.decoder == null) {
196194
throw new CodecException("No SSE decoder configured and the data is not String.");
197195
}
198-
byte[] bytes = data.getBytes(StandardCharsets.UTF_8);
196+
byte[] bytes = data.toString().getBytes(StandardCharsets.UTF_8);
199197
DataBuffer buffer = bufferFactory.wrap(bytes); // wrapping only, no allocation
200198
return this.decoder.decode(buffer, dataType, MediaType.TEXT_EVENT_STREAM, hints);
201199
}
@@ -221,7 +219,6 @@ private class LimitTracker {
221219

222220
private int accumulated = 0;
223221

224-
225222
public void afterLineParsed(String line) {
226223
if (getMaxInMemorySize() < 0) {
227224
return;
@@ -242,8 +239,7 @@ public void afterLineParsed(String line) {
242239

243240
private void raiseLimitException() {
244241
// Do not release here, it's likely down via doOnDiscard..
245-
throw new DataBufferLimitException(
246-
"Exceeded limit on max bytes to buffer : " + getMaxInMemorySize());
242+
throw new DataBufferLimitException("Exceeded limit on max bytes to buffer : " + getMaxInMemorySize());
247243
}
248244
}
249245

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

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -153,15 +153,15 @@ else if (data instanceof String) {
153153
result = Flux.just(encodeText(sb + (String) data + "\n\n", mediaType, factory));
154154
}
155155
else {
156-
result = encodeEvent(sb.toString(), data, dataType, mediaType, factory, hints);
156+
result = encodeEvent(sb, data, dataType, mediaType, factory, hints);
157157
}
158158

159159
return result.doOnDiscard(PooledDataBuffer.class, DataBufferUtils::release);
160160
});
161161
}
162162

163163
@SuppressWarnings("unchecked")
164-
private <T> Flux<DataBuffer> encodeEvent(String eventContent, T data, ResolvableType dataType,
164+
private <T> Flux<DataBuffer> encodeEvent(StringBuilder eventContent, T data, ResolvableType dataType,
165165
MediaType mediaType, DataBufferFactory factory, Map<String, Object> hints) {
166166

167167
if (this.encoder == null) {
@@ -174,16 +174,13 @@ private <T> Flux<DataBuffer> encodeEvent(String eventContent, T data, Resolvable
174174
}
175175

176176
private void writeField(String fieldName, Object fieldValue, StringBuilder sb) {
177-
sb.append(fieldName);
178-
sb.append(':');
179-
sb.append(fieldValue.toString());
180-
sb.append("\n");
177+
sb.append(fieldName).append(':').append(fieldValue).append("\n");
181178
}
182179

183180
private DataBuffer encodeText(CharSequence text, MediaType mediaType, DataBufferFactory bufferFactory) {
184181
Assert.notNull(mediaType.getCharset(), "Expected MediaType with charset");
185182
byte[] bytes = text.toString().getBytes(mediaType.getCharset());
186-
return bufferFactory.wrap(bytes); // wrapping, not allocating
183+
return bufferFactory.wrap(bytes); // wrapping, not allocating
187184
}
188185

189186
@Override

0 commit comments

Comments
 (0)