diff --git a/src/main/java/org/jboss/netty/handler/codec/http/HttpMessageDecoder.java b/src/main/java/org/jboss/netty/handler/codec/http/HttpMessageDecoder.java index 94d4ac990f..d4efc3f481 100644 --- a/src/main/java/org/jboss/netty/handler/codec/http/HttpMessageDecoder.java +++ b/src/main/java/org/jboss/netty/handler/codec/http/HttpMessageDecoder.java @@ -91,6 +91,7 @@ public abstract class HttpMessageDecoder extends ReplayingDecoder= 0) { + hex = hex.substring(delimPos).trim(); + } + return Integer.parseInt(hex, 16); } protected String readIntoCurrentLine(ChannelBuffer channel) { diff --git a/src/main/java/org/jboss/netty/handler/codec/http/HttpRequestDecoder.java b/src/main/java/org/jboss/netty/handler/codec/http/HttpRequestDecoder.java index cef0d2cb89..00a3fd10f8 100644 --- a/src/main/java/org/jboss/netty/handler/codec/http/HttpRequestDecoder.java +++ b/src/main/java/org/jboss/netty/handler/codec/http/HttpRequestDecoder.java @@ -36,10 +36,9 @@ public class HttpRequestDecoder extends HttpMessageDecoder { @Override protected void readInitial(ChannelBuffer buffer) throws Exception{ String line = readIntoCurrentLine(buffer); - checkpoint(State.READ_HEADER); String[] split = splitInitial(line); message = new DefaultHttpRequest( HttpVersion.valueOf(split[2]), HttpMethod.valueOf(split[0]), split[1]); - + checkpoint(State.READ_HEADER); } } diff --git a/src/main/java/org/jboss/netty/handler/codec/http/HttpResponseDecoder.java b/src/main/java/org/jboss/netty/handler/codec/http/HttpResponseDecoder.java index 12c9e8a11a..9815a6fecd 100644 --- a/src/main/java/org/jboss/netty/handler/codec/http/HttpResponseDecoder.java +++ b/src/main/java/org/jboss/netty/handler/codec/http/HttpResponseDecoder.java @@ -35,8 +35,8 @@ public class HttpResponseDecoder extends HttpMessageDecoder { @Override protected void readInitial(ChannelBuffer buffer) { String line = readIntoCurrentLine(buffer); - checkpoint(State.READ_HEADER); String[] split = splitInitial(line); message = new DefaultHttpResponse(HttpVersion.valueOf(split[0]), new HttpResponseStatus(Integer.valueOf(split[1]), split[2])); + checkpoint(State.READ_HEADER); } }