From a54fdc541054a4fad654f31b0467b315812effd9 Tue, 13 Nov 2012 14:51:08 +0100
From: Michael Wyraz <m...@evermind.de>
Date: Tue, 13 Nov 2012 14:40:22 +0100
Subject: [PATCH] TAP5-1858 Cookie service should allow to set path, domain AND maxAge

diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/CookiesImpl.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/CookiesImpl.java
index 3c88006..adc26e4 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/CookiesImpl.java +++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/CookiesImpl.java
@@ -121,6 +121,19 @@

         cookieSink.addCookie(cookie);
     }
+
+ public void writeCookieValue(String name, String value, String path, String domain, int maxAge)
+    {
+        Cookie cookie = new Cookie(name, value);
+        if (path==null) cookie.setPath(request.getContextPath() + "/");
+        else cookie.setPath(path);
+        if (domain!=null) cookie.setDomain(domain);
+        if (maxAge!=0) cookie.setMaxAge(maxAge);
+        else cookie.setMaxAge(defaultMaxAge);
+        cookie.setSecure(request.isSecure());
+
+        cookieSink.addCookie(cookie);
+    }

     public void removeCookieValue(String name)
     {
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/services/Cookies.java b/tapestry-core/src/main/java/org/apache/tapestry5/services/Cookies.java
index 4bcd653..a081a6d 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/services/Cookies.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/services/Cookies.java
@@ -67,6 +67,11 @@
void writeCookieValue(String name, String value, String path, String domain);

     /**
+ * As with {@link #writeCookieValue(String, String, String)} but an explicit domain,path and maximum age may be set.
+     */
+ void writeCookieValue(String name, String value, String path, String domain, int maxAge);
+
+    /**
* Removes a previously written cookie, by writing a new cookie with a maxAge of 0.
      */
     void removeCookieValue(String name);

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tapestry.apache.org
For additional commands, e-mail: dev-h...@tapestry.apache.org

Reply via email to