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: [email protected]
For additional commands, e-mail: [email protected]