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 2013/07/15 22:22:18 UTC
svn commit: r1503450 - in /cxf/branches/2.7.x-fixes: ./
rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/
systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/
Author: sergeyb
Date: Mon Jul 15 20:22:18 2013
New Revision: 1503450
URL: http://svn.apache.org/r1503450
Log:
Merged revisions 1503447 via svnmerge from
https://svn.apache.org/repos/asf/cxf/trunk
........
r1503447 | sergeyb | 2013-07-15 21:11:04 +0100 (Mon, 15 Jul 2013) | 1 line
[CXF-5129] Update to HttpServletResponseFilter to get content-type not lost in some cases
........
Modified:
cxf/branches/2.7.x-fixes/ (props changed)
cxf/branches/2.7.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/HttpServletResponseFilter.java
cxf/branches/2.7.x-fixes/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/BookStore.java
cxf/branches/2.7.x-fixes/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerBookTest.java
Propchange: cxf/branches/2.7.x-fixes/
------------------------------------------------------------------------------
Merged /cxf/trunk:r1503447
Propchange: cxf/branches/2.7.x-fixes/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.
Modified: cxf/branches/2.7.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/HttpServletResponseFilter.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/HttpServletResponseFilter.java?rev=1503450&r1=1503449&r2=1503450&view=diff
==============================================================================
--- cxf/branches/2.7.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/HttpServletResponseFilter.java (original)
+++ cxf/branches/2.7.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/HttpServletResponseFilter.java Mon Jul 15 20:22:18 2013
@@ -41,6 +41,21 @@ public class HttpServletResponseFilter e
}
@Override
+ public void setContentType(String ct) {
+ super.setContentType(ct);
+ m.getExchange().put(Message.CONTENT_TYPE, ct);
+ }
+
+ @Override
+ public void addHeader(String name, String value) {
+ if (Message.CONTENT_TYPE.equals(name)) {
+ setContentType(value);
+ } else {
+ super.addHeader(name, value);
+ }
+ }
+
+ @Override
public ServletOutputStream getOutputStream() throws IOException {
return new ServletOutputStreamFilter(super.getOutputStream(), m);
}
Modified: cxf/branches/2.7.x-fixes/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/BookStore.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/BookStore.java?rev=1503450&r1=1503449&r2=1503450&view=diff
==============================================================================
--- cxf/branches/2.7.x-fixes/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/BookStore.java (original)
+++ cxf/branches/2.7.x-fixes/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/BookStore.java Mon Jul 15 20:22:18 2013
@@ -167,6 +167,17 @@ public class BookStore {
return doGetBook("123");
}
+ @GET
+ @Path("/httpresponse")
+ public void getBookDesciptionHttpResponse(@Context HttpServletResponse response) {
+ response.setContentType("text/plain");
+ try {
+ response.getOutputStream().write("Good Book".getBytes());
+ } catch (IOException ex) {
+ throw new WebApplicationException(ex);
+ }
+ }
+
@RETRIEVE
@Path("/retrieve")
@Produces("application/xml")
Modified: cxf/branches/2.7.x-fixes/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerBookTest.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerBookTest.java?rev=1503450&r1=1503449&r2=1503450&view=diff
==============================================================================
--- cxf/branches/2.7.x-fixes/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerBookTest.java (original)
+++ cxf/branches/2.7.x-fixes/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerBookTest.java Mon Jul 15 20:22:18 2013
@@ -57,6 +57,7 @@ import org.apache.commons.httpclient.met
import org.apache.cxf.helpers.CastUtils;
import org.apache.cxf.helpers.IOUtils;
import org.apache.cxf.interceptor.Fault;
+import org.apache.cxf.interceptor.LoggingInInterceptor;
import org.apache.cxf.io.CachedOutputStream;
import org.apache.cxf.jaxrs.client.JAXRSClientFactory;
import org.apache.cxf.jaxrs.client.JAXRSClientFactoryBean;
@@ -97,6 +98,16 @@ public class JAXRSClientServerBookTest e
Response r = wc.form(new org.apache.cxf.jaxrs.ext.form.Form());
assertEquals("empty form", r.readEntity(String.class));
}
+
+ @Test
+ public void testGetBookDescriptionHttpResponse() throws Exception {
+ String address = "http://localhost:" + PORT + "/bookstore/httpresponse";
+ WebClient wc = WebClient.create(address);
+ WebClient.getConfig(wc).getInInterceptors().add(new LoggingInInterceptor());
+ Response r = wc.get();
+ assertEquals("text/plain", r.getMediaType().toString());
+ assertEquals("Good Book", r.readEntity(String.class));
+ }
@Test
public void testGetCustomBookResponse() {