You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by se...@apache.org on 2012/05/15 16:38:31 UTC

svn commit: r1338730 - in /cxf/trunk/rt/frontend/jaxrs/src: main/java/org/apache/cxf/jaxrs/impl/HttpHeadersImpl.java test/java/org/apache/cxf/jaxrs/impl/HttpHeadersImplTest.java

Author: sergeyb
Date: Tue May 15 14:38:31 2012
New Revision: 1338730

URL: http://svn.apache.org/viewvc?rev=1338730&view=rev
Log:
Updating HttpHeaders to recognize Cookie parameters marked with $, JIRA to be updated once it is up

Modified:
    cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/HttpHeadersImpl.java
    cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/impl/HttpHeadersImplTest.java

Modified: cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/HttpHeadersImpl.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/HttpHeadersImpl.java?rev=1338730&r1=1338729&r2=1338730&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/HttpHeadersImpl.java (original)
+++ cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/HttpHeadersImpl.java Tue May 15 14:38:31 2012
@@ -100,7 +100,9 @@ public class HttpHeadersImpl implements 
             if (value == null) {
                 continue;
             }
-            List<String> cs = getHeaderValues(HttpHeaders.COOKIE, value, getCookieSeparator());
+            List<String> cs = value.contains("$")
+                ? Collections.singletonList(value)
+                : getHeaderValues(HttpHeaders.COOKIE, value, getCookieSeparator());
             for (String c : cs) {
                 Cookie cookie = Cookie.valueOf(c);
                 cl.put(cookie.getName(), cookie);

Modified: cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/impl/HttpHeadersImplTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/impl/HttpHeadersImplTest.java?rev=1338730&r1=1338729&r2=1338730&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/impl/HttpHeadersImplTest.java (original)
+++ cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/impl/HttpHeadersImplTest.java Tue May 15 14:38:31 2012
@@ -250,6 +250,22 @@ public class HttpHeadersImplTest extends
     }
     
     @Test
+    public void testGetCookieWithAttributes() throws Exception {
+        
+        Message m = new MessageImpl();
+        m.setExchange(new ExchangeImpl());
+        MetadataMap<String, String> headers = createHeaders();
+        headers.putSingle(HttpHeaders.COOKIE, "$Version=1;a=b");
+        m.put(Message.PROTOCOL_HEADERS, headers);
+        HttpHeaders h = new HttpHeadersImpl(m);
+        Map<String, Cookie> cookies = h.getCookies();
+        assertEquals(1, cookies.size());
+        Cookie cookie = cookies.get("a");
+        assertEquals("b", cookie.getValue());
+        assertEquals(1, cookie.getVersion());
+    }
+    
+    @Test
     public void testGetCookiesWithComma() throws Exception {
         
         Message m = new MessageImpl();