Author: jboynes Date: Wed Jan 8 01:10:34 2014 New Revision: 1556418 URL: http://svn.apache.org/r1556418 Log: Simplify interface to SetCookieSupport.
Modified: tomcat/trunk/java/org/apache/catalina/connector/Response.java tomcat/trunk/java/org/apache/tomcat/util/http/SetCookieSupport.java Modified: tomcat/trunk/java/org/apache/catalina/connector/Response.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/Response.java?rev=1556418&r1=1556417&r2=1556418&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/connector/Response.java (original) +++ tomcat/trunk/java/org/apache/catalina/connector/Response.java Wed Jan 8 01:10:34 2014 @@ -865,12 +865,12 @@ public class Response return; } - final StringBuffer sb = generateCookieString(cookie); + String header = generateCookieString(cookie); //if we reached here, no exception, cookie is valid // the header name is Set-Cookie for both "old" and v.1 ( RFC2109 ) // RFC2965 is not supported by browsers and the Servlet spec // asks for 2109. - addHeader("Set-Cookie", sb.toString()); + addHeader("Set-Cookie", header); } /** @@ -886,50 +886,38 @@ public class Response String name = cookie.getName(); final String headername = "Set-Cookie"; final String startsWith = name + "="; - final StringBuffer sb = generateCookieString(cookie); + String header = generateCookieString(cookie); boolean set = false; MimeHeaders headers = coyoteResponse.getMimeHeaders(); int n = headers.size(); for (int i = 0; i < n; i++) { if (headers.getName(i).toString().equals(headername)) { if (headers.getValue(i).toString().startsWith(startsWith)) { - headers.getValue(i).setString(sb.toString()); + headers.getValue(i).setString(header); set = true; } } } if (!set) { - addHeader(headername, sb.toString()); + addHeader(headername, header); } } - public StringBuffer generateCookieString(final Cookie cookie) { - final StringBuffer sb = new StringBuffer(); + public String generateCookieString(final Cookie cookie) { //web application code can receive a IllegalArgumentException //from the appendCookieValue invocation if (SecurityUtil.isPackageProtectionEnabled()) { - AccessController.doPrivileged(new PrivilegedAction<Void>() { + return AccessController.doPrivileged(new PrivilegedAction<String>() { @Override - public Void run(){ - SetCookieSupport.appendCookieValue - (sb, cookie.getVersion(), cookie.getName(), - cookie.getValue(), cookie.getPath(), - cookie.getDomain(), cookie.getComment(), - cookie.getMaxAge(), cookie.getSecure(), - cookie.isHttpOnly()); - return null; + public String run(){ + return SetCookieSupport.generateHeader(cookie); } }); } else { - SetCookieSupport.appendCookieValue - (sb, cookie.getVersion(), cookie.getName(), cookie.getValue(), - cookie.getPath(), cookie.getDomain(), cookie.getComment(), - cookie.getMaxAge(), cookie.getSecure(), - cookie.isHttpOnly()); + return SetCookieSupport.generateHeader(cookie); } - return sb; } Modified: tomcat/trunk/java/org/apache/tomcat/util/http/SetCookieSupport.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/http/SetCookieSupport.java?rev=1556418&r1=1556417&r2=1556418&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/util/http/SetCookieSupport.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/http/SetCookieSupport.java Wed Jan 8 01:10:34 2014 @@ -23,6 +23,8 @@ import java.util.Date; import java.util.Locale; import java.util.TimeZone; +import javax.servlet.http.Cookie; + /** * Support class for generating Set-Cookie header values. */ @@ -45,7 +47,16 @@ public class SetCookieSupport { ancientDate = OLD_COOKIE_FORMAT.get().format(new Date(10000)); } - public static void appendCookieValue( StringBuffer headerBuf, + public static String generateHeader(Cookie cookie) { + StringBuffer sb = new StringBuffer(); + appendCookieValue(sb, cookie.getVersion(), cookie.getName(), cookie.getValue(), + cookie.getPath(), cookie.getDomain(), cookie.getComment(), + cookie.getMaxAge(), cookie.getSecure(), + cookie.isHttpOnly()); + return sb.toString(); + } + + private static void appendCookieValue( StringBuffer headerBuf, int version, String name, String value, --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org