[utilities COMMIT] in /java-support/trunk/src: main/java/net/shibboleth/utilities/java/support/net/CookieManager.java...
noreply at shibboleth.net
noreply at shibboleth.net
Tue Oct 8 17:15:53 EDT 2013
Author: scantor
Date: Tue Oct 8 17:15:53 2013
New Revision: 455
URL: http://svn.shibboleth.net/view/utilities?rev=455&view=rev
Log:
Add unsetCookie method, fix maxAge default.
Modified:
java-support/trunk/src/main/java/net/shibboleth/utilities/java/support/net/CookieManager.java
java-support/trunk/src/test/java/net/shibboleth/utilities/java/support/net/CookieManagerTest.java
Modified: java-support/trunk/src/main/java/net/shibboleth/utilities/java/support/net/CookieManager.java
URL: http://svn.shibboleth.net/view/utilities/java-support/trunk/src/main/java/net/shibboleth/utilities/java/support/net/CookieManager.java?rev=455&r1=454&r2=455&view=diff
==============================================================================
--- java-support/trunk/src/main/java/net/shibboleth/utilities/java/support/net/CookieManager.java (original)
+++ java-support/trunk/src/main/java/net/shibboleth/utilities/java/support/net/CookieManager.java Tue Oct 8 17:15:53 2013
@@ -61,6 +61,7 @@
/** Constructor. */
public CookieManager() {
secure = true;
+ maxAge = -1;
}
/**
@@ -153,4 +154,21 @@
httpResponse.addCookie(cookie);
}
+
+ /**
+ * Unsets a cookie with the specified name.
+ *
+ * @param name name of cookie
+ */
+ @Nullable public void unsetCookie(@Nonnull @NotEmpty final String name) {
+ Cookie cookie = new Cookie(name, null);
+ cookie.setPath(cookiePath != null ? cookiePath : httpRequest.getContextPath());
+ if (cookieDomain != null) {
+ cookie.setDomain(cookieDomain);
+ }
+ cookie.setSecure(secure);
+ cookie.setMaxAge(0);
+
+ httpResponse.addCookie(cookie);
+ }
}
Modified: java-support/trunk/src/test/java/net/shibboleth/utilities/java/support/net/CookieManagerTest.java
URL: http://svn.shibboleth.net/view/utilities/java-support/trunk/src/test/java/net/shibboleth/utilities/java/support/net/CookieManagerTest.java?rev=455&r1=454&r2=455&view=diff
==============================================================================
--- java-support/trunk/src/test/java/net/shibboleth/utilities/java/support/net/CookieManagerTest.java (original)
+++ java-support/trunk/src/test/java/net/shibboleth/utilities/java/support/net/CookieManagerTest.java Tue Oct 8 17:15:53 2013
@@ -67,6 +67,7 @@
Assert.assertEquals(cookie.getPath(), "/idp");
Assert.assertNull(cookie.getDomain());
Assert.assertTrue(cookie.getSecure());
+ Assert.assertEquals(cookie.getMaxAge(), -1);
}
@Test public void testCookieNoPath() throws ComponentInitializationException {
@@ -87,5 +88,28 @@
Assert.assertEquals(cookie.getPath(), "/idp");
Assert.assertNull(cookie.getDomain());
Assert.assertTrue(cookie.getSecure());
+ Assert.assertEquals(cookie.getMaxAge(), -1);
+ }
+
+ @Test public void testCookieUnset() throws ComponentInitializationException {
+ MockHttpServletRequest request = new MockHttpServletRequest();
+ request.setContextPath("/idp");
+ request.setCookies(new Cookie("foo", "bar"));
+ MockHttpServletResponse response = new MockHttpServletResponse();
+
+ CookieManager cm = new CookieManager();
+ cm.setHttpServletRequest(request);
+ cm.setHttpServletResponse(response);
+ cm.initialize();
+
+ cm.unsetCookie("foo");
+
+ Cookie cookie = response.getCookie("foo");
+ Assert.assertNotNull(cookie);
+ Assert.assertNull(cookie.getValue());
+ Assert.assertEquals(cookie.getPath(), "/idp");
+ Assert.assertNull(cookie.getDomain());
+ Assert.assertTrue(cookie.getSecure());
+ Assert.assertEquals(cookie.getMaxAge(), 0);
}
}
More information about the commits
mailing list