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 2010/11/19 18:03:57 UTC
svn commit: r1036943 - in /cxf/branches/2.2.x-fixes: ./
rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/
rt/transports/http/src/main/java/org/apache/cxf/transport/http/
systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/
Author: sergeyb
Date: Fri Nov 19 17:03:57 2010
New Revision: 1036943
URL: http://svn.apache.org/viewvc?rev=1036943&view=rev
Log:
Merged revisions 1036443 via svnmerge from
https://svn.apache.org/repos/asf/cxf/branches/2.3.x-fixes
................
r1036443 | sergeyb | 2010-11-18 13:01:48 +0000 (Thu, 18 Nov 2010) | 9 lines
Merged revisions 1036441 via svnmerge from
https://svn.apache.org/repos/asf/cxf/trunk
........
r1036441 | sergeyb | 2010-11-18 12:58:52 +0000 (Thu, 18 Nov 2010) | 1 line
[CXF-3112] : Applying a patch on behalf of David Hagar
........
................
Modified:
cxf/branches/2.2.x-fixes/ (props changed)
cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/AbstractClient.java
cxf/branches/2.2.x-fixes/rt/transports/http/src/main/java/org/apache/cxf/transport/http/AbstractHTTPDestination.java
cxf/branches/2.2.x-fixes/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/BookStore.java
cxf/branches/2.2.x-fixes/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerBookTest.java
Propchange: cxf/branches/2.2.x-fixes/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Nov 19 17:03:57 2010
@@ -1,2 +1,2 @@
-/cxf/branches/2.3.x-fixes:1036007,1036260,1036394,1036842,1036920
-/cxf/trunk:1036004,1036258,1036391,1036840,1036917
+/cxf/branches/2.3.x-fixes:1036007,1036260,1036394,1036443,1036842,1036920
+/cxf/trunk:1036004,1036258,1036391,1036441,1036840,1036917
Propchange: cxf/branches/2.2.x-fixes/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.
Modified: cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/AbstractClient.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/AbstractClient.java?rev=1036943&r1=1036942&r2=1036943&view=diff
==============================================================================
--- cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/AbstractClient.java (original)
+++ cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/AbstractClient.java Fri Nov 19 17:03:57 2010
@@ -340,9 +340,9 @@ public class AbstractClient implements C
currentResponseBuilder.header(entry.getKey(), entry.getValue().get(0));
continue;
}
- boolean splitPossible = !(HttpHeaders.SET_COOKIE.equalsIgnoreCase(entry.getKey())
- && entry.getValue().get(0).contains(HttpHeaders.EXPIRES));
for (String val : entry.getValue()) {
+ boolean splitPossible = !(HttpHeaders.SET_COOKIE.equalsIgnoreCase(entry.getKey())
+ && val.contains(HttpHeaders.EXPIRES));
String[] values = splitPossible ? val.split(",") : new String[]{val};
for (String s : values) {
String theValue = s.trim();
Modified: cxf/branches/2.2.x-fixes/rt/transports/http/src/main/java/org/apache/cxf/transport/http/AbstractHTTPDestination.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.2.x-fixes/rt/transports/http/src/main/java/org/apache/cxf/transport/http/AbstractHTTPDestination.java?rev=1036943&r1=1036942&r2=1036943&view=diff
==============================================================================
--- cxf/branches/2.2.x-fixes/rt/transports/http/src/main/java/org/apache/cxf/transport/http/AbstractHTTPDestination.java (original)
+++ cxf/branches/2.2.x-fixes/rt/transports/http/src/main/java/org/apache/cxf/transport/http/AbstractHTTPDestination.java Fri Nov 19 17:03:57 2010
@@ -94,6 +94,9 @@ public abstract class AbstractHTTPDestin
public static final String RESPONSE_COMMITED = "http.response.done";
public static final String REQUEST_REDIRECTED = "http.request.redirected";
+
+ private static final String HTTP_HEADERS_SETCOOKIE = "Set-Cookie";
+
private static final Logger LOG = LogUtils.getL7dLogger(AbstractHTTPDestination.class);
private static final long serialVersionUID = 1L;
@@ -255,12 +258,20 @@ public abstract class AbstractHTTPDestin
String header = (String)iter.next();
List<?> headerList = (List<?>)headers.get(header);
StringBuilder sb = new StringBuilder();
- for (int i = 0; i < headerList.size(); i++) {
- sb.append(headerList.get(i));
- if (i + 1 < headerList.size()) {
- sb.append(',');
+
+ if (HTTP_HEADERS_SETCOOKIE.equals(header)) {
+ for (int i = 0; i < headerList.size(); i++) {
+ response.addHeader(header, headerList.get(i).toString());
+ }
+ } else {
+ for (int i = 0; i < headerList.size(); i++) {
+ sb.append(headerList.get(i));
+ if (i + 1 < headerList.size()) {
+ sb.append(',');
+ }
}
}
+
response.addHeader(header, sb.toString());
}
} else {
Modified: cxf/branches/2.2.x-fixes/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/BookStore.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.2.x-fixes/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/BookStore.java?rev=1036943&r1=1036942&r2=1036943&view=diff
==============================================================================
--- cxf/branches/2.2.x-fixes/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/BookStore.java (original)
+++ cxf/branches/2.2.x-fixes/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/BookStore.java Fri Nov 19 17:03:57 2010
@@ -133,6 +133,14 @@ public class BookStore {
.build();
}
+
+ @GET
+ @Path("settwocookies")
+ public Response setTwoCookies() {
+ return Response.ok().header("Set-Cookie", "JSESSIONID=0475F7F30A26E5B0C15D69; Path=/")
+ .header("Set-Cookie", "COOKIETWO=dummy; Expires=Sat, 20-Nov-2010 19:11:32 GMT; Path=/").build();
+ }
+
@GET
@Path("propogateexception")
public Book propogateException() throws BookNotFoundFault {
Modified: cxf/branches/2.2.x-fixes/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerBookTest.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.2.x-fixes/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerBookTest.java?rev=1036943&r1=1036942&r2=1036943&view=diff
==============================================================================
--- cxf/branches/2.2.x-fixes/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerBookTest.java (original)
+++ cxf/branches/2.2.x-fixes/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerBookTest.java Fri Nov 19 17:03:57 2010
@@ -92,6 +92,16 @@ public class JAXRSClientServerBookTest e
assertEquals(1, cookies.size());
}
+ @Test
+ public void testSetTwoCookieWebClient() throws Exception {
+ WebClient client = WebClient.create("http://localhost:" + PORT + "/bookstore/settwocookies");
+ Response r = client.type("*/*").get();
+ assertEquals(200, r.getStatus());
+ List<Object> cookies = r.getMetadata().get("Set-Cookie");
+ assertNotNull(cookies);
+ assertEquals(2, cookies.size());
+ }
+
@Test
public void testOnewayProxy() throws Exception {