Browse Source

Merge pull request #704 from aantono/master

Fixed the output stream incomplete data by explicitly flushing the OutputStreamWriter
pull/705/head
Brian Clozel 11 years ago
parent
commit
b2878a4f60
  1. 16
      spring-web/src/main/java/org/springframework/http/converter/protobuf/ProtobufHttpMessageConverter.java

16
spring-web/src/main/java/org/springframework/http/converter/protobuf/ProtobufHttpMessageConverter.java

@ -166,16 +166,24 @@ public class ProtobufHttpMessageConverter extends AbstractHttpMessageConverter<M @@ -166,16 +166,24 @@ public class ProtobufHttpMessageConverter extends AbstractHttpMessageConverter<M
Charset charset = getCharset(contentType);
if (MediaType.TEXT_HTML.isCompatibleWith(contentType)) {
HtmlFormat.print(message, new OutputStreamWriter(outputMessage.getBody(), charset));
final OutputStreamWriter outputStreamWriter = new OutputStreamWriter(outputMessage.getBody(), charset);
HtmlFormat.print(message, outputStreamWriter);
outputStreamWriter.flush();
}
else if (MediaType.APPLICATION_JSON.isCompatibleWith(contentType)) {
JsonFormat.print(message, new OutputStreamWriter(outputMessage.getBody(), charset));
final OutputStreamWriter outputStreamWriter = new OutputStreamWriter(outputMessage.getBody(), charset);
JsonFormat.print(message, outputStreamWriter);
outputStreamWriter.flush();
}
else if (MediaType.TEXT_PLAIN.isCompatibleWith(contentType)) {
TextFormat.print(message, new OutputStreamWriter(outputMessage.getBody(), charset));
final OutputStreamWriter outputStreamWriter = new OutputStreamWriter(outputMessage.getBody(), charset);
TextFormat.print(message, outputStreamWriter);
outputStreamWriter.flush();
}
else if (MediaType.APPLICATION_XML.isCompatibleWith(contentType)) {
XmlFormat.print(message, new OutputStreamWriter(outputMessage.getBody(), charset));
final OutputStreamWriter outputStreamWriter = new OutputStreamWriter(outputMessage.getBody(), charset);
XmlFormat.print(message, outputStreamWriter);
outputStreamWriter.flush();
}
else if (PROTOBUF.isCompatibleWith(contentType)) {
setProtoHeader(outputMessage, message);

Loading…
Cancel
Save