Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Wilkins2009-09-22 01:41:17 +0000
committerGreg Wilkins2009-09-22 01:41:17 +0000
commitbfd43fb5c421de114f1a0021575ccccb32dad58d (patch)
tree1599f105432d97c9ca3f61bbb91228535a5d3f6e
parentd66c553bdeca77935c46183dcf9f8e53a01b83e8 (diff)
downloadorg.eclipse.jetty.project-bfd43fb5c421de114f1a0021575ccccb32dad58d.tar.gz
org.eclipse.jetty.project-bfd43fb5c421de114f1a0021575ccccb32dad58d.tar.xz
org.eclipse.jetty.project-bfd43fb5c421de114f1a0021575ccccb32dad58d.zip
290081 Eager consume LF after CR
git-svn-id: svn+ssh://dev.eclipse.org/svnroot/rt/org.eclipse.jetty/jetty/branches/jetty-7.0.0.x@946 7e9141cc-0065-0410-87d8-b60c137991c4
-rw-r--r--VERSION.txt5
-rw-r--r--jetty-deploy/src/main/java/org/eclipse/jetty/deploy/ContextDeployer.java2
-rw-r--r--jetty-http/src/main/java/org/eclipse/jetty/http/HttpParser.java15
-rw-r--r--jetty-server/src/main/java/org/eclipse/jetty/server/HttpConnection.java8
4 files changed, 21 insertions, 9 deletions
diff --git a/VERSION.txt b/VERSION.txt
index 1cd037c270..dcaa22c35f 100644
--- a/VERSION.txt
+++ b/VERSION.txt
@@ -1,6 +1,6 @@
jetty-7.0.0.RC7-SNAPSHOT
+ 289958 StatisticsServlet incorrectly adds StatisticsHandler
- + Remove printlns from jetty-plus
+ + 290081 Eager consume LF after CR
jetty-7.0.0.RC6 September 18th 2009
+ JETTY-719 Document state machine of jetty http client
@@ -31,9 +31,10 @@ jetty-7.0.0.RC6 September 18th 2009
+ 288182 PUT request fails during retry
+ 289221 HttpExchange does not timeout when using blocking connector
+ 289285 org.eclipse.jetty.continuation 7.0.0.RC5 imports the org.mortbay.util.ajax package
+ + 289686 HttpExchange.setStatus() has too coarse synchronization
+ Tweak DefaultServletTest under windows
+ Copy VERSION.txt to distro
- + 289686 HttpExchange.setStatus() has too coarse synchronization
+ + Remove printlns from jetty-plus
jetty-6.1.20 27 August 2009
+ JETTY-838 Don't log and throw
diff --git a/jetty-deploy/src/main/java/org/eclipse/jetty/deploy/ContextDeployer.java b/jetty-deploy/src/main/java/org/eclipse/jetty/deploy/ContextDeployer.java
index 3f767a5123..6ec10bcd31 100644
--- a/jetty-deploy/src/main/java/org/eclipse/jetty/deploy/ContextDeployer.java
+++ b/jetty-deploy/src/main/java/org/eclipse/jetty/deploy/ContextDeployer.java
@@ -119,7 +119,7 @@ public class ContextDeployer extends AbstractLifeCycle
*
* @throws Exception
*/
- public ContextDeployer() throws Exception
+ public ContextDeployer()
{
_scanner=new Scanner();
}
diff --git a/jetty-http/src/main/java/org/eclipse/jetty/http/HttpParser.java b/jetty-http/src/main/java/org/eclipse/jetty/http/HttpParser.java
index 5d85c4c250..938b930fc6 100644
--- a/jetty-http/src/main/java/org/eclipse/jetty/http/HttpParser.java
+++ b/jetty-http/src/main/java/org/eclipse/jetty/http/HttpParser.java
@@ -506,6 +506,9 @@ public class HttpParser implements Parser
_contentPosition=0;
_eol=ch;
+ if (_eol==HttpTokens.CARRIAGE_RETURN && _buffer.hasContent() && _buffer.peek()==HttpTokens.LINE_FEED)
+ _eol=_buffer.get();
+
// We convert _contentLength to an int for this switch statement because
// we don't care about the amount of data available just whether there is some.
switch (_contentLength > Integer.MAX_VALUE ? Integer.MAX_VALUE : (int) _contentLength)
@@ -766,8 +769,11 @@ public class HttpParser implements Parser
if (ch == HttpTokens.CARRIAGE_RETURN || ch == HttpTokens.LINE_FEED)
{
_eol=ch;
+
if (_chunkLength == 0)
{
+ if (_eol==HttpTokens.CARRIAGE_RETURN && _buffer.hasContent() && _buffer.peek()==HttpTokens.LINE_FEED)
+ _eol=_buffer.get();
_state=STATE_END;
_handler.messageComplete(_contentPosition);
return total_filled;
@@ -796,6 +802,8 @@ public class HttpParser implements Parser
_eol=ch;
if (_chunkLength == 0)
{
+ if (_eol==HttpTokens.CARRIAGE_RETURN && _buffer.hasContent() && _buffer.peek()==HttpTokens.LINE_FEED)
+ _eol=_buffer.get();
_state=STATE_END;
_handler.messageComplete(_contentPosition);
return total_filled;
@@ -919,11 +927,8 @@ public class HttpParser implements Parser
_length=0;
_responseStatus=0;
- if (_buffer!=null && _buffer.length()>0 && _eol == HttpTokens.CARRIAGE_RETURN && _buffer.peek() == HttpTokens.LINE_FEED)
- {
- _buffer.skip(1);
- _eol=HttpTokens.LINE_FEED;
- }
+ if (_eol == HttpTokens.CARRIAGE_RETURN && _buffer!=null && _buffer.hasContent() && _buffer.peek() == HttpTokens.LINE_FEED)
+ _eol=_buffer.get();
if (_body!=null)
{
diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/HttpConnection.java b/jetty-server/src/main/java/org/eclipse/jetty/server/HttpConnection.java
index feec8b34eb..e296d72bd1 100644
--- a/jetty-server/src/main/java/org/eclipse/jetty/server/HttpConnection.java
+++ b/jetty-server/src/main/java/org/eclipse/jetty/server/HttpConnection.java
@@ -451,7 +451,13 @@ public class HttpConnection implements Connection
more_in_buffer=false;
}
- reset(!more_in_buffer);
+ if (more_in_buffer)
+ {
+ reset(false);
+ more_in_buffer = _parser.isMoreInBuffer() || _endp.isBufferingInput();
+ }
+ else
+ reset(true);
progress=true;
}

Back to the top