Author: markt Date: Tue Sep 2 15:47:56 2014 New Revision: 1622037 URL: http://svn.apache.org/r1622037 Log: Refactor to reduce code duplication
Modified: tomcat/trunk/java/org/apache/tomcat/util/http/parser/Cookie.java Modified: tomcat/trunk/java/org/apache/tomcat/util/http/parser/Cookie.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/http/parser/Cookie.java?rev=1622037&r1=1622036&r2=1622037&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/util/http/parser/Cookie.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/http/parser/Cookie.java Tue Sep 2 15:47:56 2014 @@ -263,9 +263,7 @@ public class Cookie { skipLWS(bb); value = readCookieValueRfc2109(bb, false); if (value == null) { - logInvalidHeader(bb); - // Invalid cookie value. Skip to the next semi-colon - skipUntilSemiColon(bb); + skipInvalidCookie(bb); continue; } skipLWS(bb); @@ -280,10 +278,7 @@ public class Cookie { parseAttributes = false; moreToProcess = false; } else if (skipResult == SkipResult.NOT_FOUND) { - logInvalidHeader(bb); - // Invalid cookie value. Skip to the next semi-colon - // TODO Could be a comma - skipUntilSemiColon(bb); + skipInvalidCookie(bb); continue; } @@ -293,18 +288,12 @@ public class Cookie { skipLWS(bb); skipResult = skipByte(bb, EQUALS_BYTE); if (skipResult != SkipResult.FOUND) { - logInvalidHeader(bb); - // Invalid cookie value. Skip to the next semi-colon - // TODO Could be a comma - skipUntilSemiColon(bb); + skipInvalidCookie(bb); continue; } path = readCookieValueRfc2109(bb, true); if (path == null) { - logInvalidHeader(bb); - // Invalid cookie value. Skip to the next semi-colon - // TODO Could be a comma - skipUntilSemiColon(bb); + skipInvalidCookie(bb); continue; } skipLWS(bb); @@ -318,10 +307,7 @@ public class Cookie { parseAttributes = false; moreToProcess = false; } else if (skipResult == SkipResult.NOT_FOUND) { - logInvalidHeader(bb); - // Invalid cookie value. Skip to the next semi-colon - // TODO Could be a comma - skipUntilSemiColon(bb); + skipInvalidCookie(bb); continue; } } @@ -333,18 +319,12 @@ public class Cookie { skipLWS(bb); skipResult = skipByte(bb, EQUALS_BYTE); if (skipResult != SkipResult.FOUND) { - logInvalidHeader(bb); - // Invalid cookie value. Skip to the next semi-colon - // TODO Could be a comma - skipUntilSemiColon(bb); + skipInvalidCookie(bb); continue; } domain = readCookieValueRfc2109(bb, false); if (domain == null) { - logInvalidHeader(bb); - // Invalid cookie value. Skip to the next semi-colon - // TODO Could be a comma - skipUntilSemiColon(bb); + skipInvalidCookie(bb); continue; } @@ -357,10 +337,7 @@ public class Cookie { parseAttributes = false; moreToProcess = false; } else if (skipResult == SkipResult.NOT_FOUND) { - logInvalidHeader(bb); - // Invalid cookie value. Skip to the next semi-colon - // TODO Could be a comma - skipUntilSemiColon(bb); + skipInvalidCookie(bb); continue; } } @@ -382,6 +359,13 @@ public class Cookie { } + private static void skipInvalidCookie(ByteBuffer bb) { + logInvalidHeader(bb); + // Invalid cookie value. Skip to the next semi-colon + // TODO Could be a comma + skipUntilSemiColon(bb); + } + private static void skipLWS(ByteBuffer bb) { while(bb.hasRemaining()) { byte b = bb.get(); --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org