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();


Reply via email to