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

Reply via email to