Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimone Bordet2013-07-10 20:57:23 +0000
committerSimone Bordet2013-07-10 20:57:48 +0000
commit8eb664970994f3ec7e4b7a39e88db8dac651c3f3 (patch)
tree6cd1b74c3002e0bba86d3e80664de7c4a374683c
parentcb0084260fcda4f910a7e474886b299cc5c16661 (diff)
downloadorg.eclipse.jetty.project-8eb664970994f3ec7e4b7a39e88db8dac651c3f3.tar.gz
org.eclipse.jetty.project-8eb664970994f3ec7e4b7a39e88db8dac651c3f3.tar.xz
org.eclipse.jetty.project-8eb664970994f3ec7e4b7a39e88db8dac651c3f3.zip
412712 - HttpClient does not send the terminal chunk after partial writes.
HttpGenerator._header and HttpGenerator._buffer may be null when the content is written after a partial write. In this case, the terminal chunk was not prepared, and therefore never written. The fix simply creates a HttpGenerator._header to prepare the terminal chunk, so that it will be written.
-rw-r--r--jetty-http/src/main/java/org/eclipse/jetty/http/HttpGenerator.java7
1 files changed, 5 insertions, 2 deletions
diff --git a/jetty-http/src/main/java/org/eclipse/jetty/http/HttpGenerator.java b/jetty-http/src/main/java/org/eclipse/jetty/http/HttpGenerator.java
index cd3edea4cb..85d70df09a 100644
--- a/jetty-http/src/main/java/org/eclipse/jetty/http/HttpGenerator.java
+++ b/jetty-http/src/main/java/org/eclipse/jetty/http/HttpGenerator.java
@@ -1015,14 +1015,17 @@ public class HttpGenerator extends AbstractGenerator
// If we need EOC and everything written
if (_needEOC && (_content == null || _content.length() == 0))
{
+ if (_header == null && _buffer == null)
+ _header = _buffers.getHeader();
+
if (_needCRLF)
{
- if (_buffer == null && _header != null && _header.space() >= 2)
+ if (_buffer == null && _header != null && _header.space() >= HttpTokens.CRLF.length)
{
_header.put(HttpTokens.CRLF);
_needCRLF = false;
}
- else if (_buffer!=null && _buffer.space() >= 2)
+ else if (_buffer!=null && _buffer.space() >= HttpTokens.CRLF.length)
{
_buffer.put(HttpTokens.CRLF);
_needCRLF = false;

Back to the top