Fixed the output stream incomplete data by explicitly flushing the OutputStreamWriter

This commit is contained in:
Alex Antonov 2014-12-04 16:46:15 -06:00
parent b041cffe5d
commit bf8d99d7e4
1 changed files with 12 additions and 4 deletions

View File

@ -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);