Author: davsclaus Date: Tue May 22 03:41:22 2012 New Revision: 1341294 URL: http://svn.apache.org/viewvc?rev=1341294&view=rev Log: [CAMEL-5268] camel-restlet producer not passing along the Accept header
Added: camel/branches/camel-2.9.x/components/camel-restlet/src/test/java/org/apache/camel/component/restlet/RestletProducerAcceptContentTypeTest.java - copied unchanged from r1341227, camel/trunk/components/camel-restlet/src/test/java/org/apache/camel/component/restlet/RestletProducerAcceptContentTypeTest.java Modified: camel/branches/camel-2.9.x/ (props changed) camel/branches/camel-2.9.x/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/DefaultRestletBinding.java camel/branches/camel-2.9.x/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/RestletHeaderFilterStrategy.java camel/branches/camel-2.9.x/components/camel-restlet/src/test/java/org/apache/camel/component/restlet/RestletPostXmlRouteAndJSONAsReturnTest.java Propchange: camel/branches/camel-2.9.x/ ------------------------------------------------------------------------------ Merged /camel/trunk:r1341227 Propchange: camel/branches/camel-2.9.x/ ------------------------------------------------------------------------------ Binary property 'svnmerge-integrated' - no diff available. Modified: camel/branches/camel-2.9.x/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/DefaultRestletBinding.java URL: http://svn.apache.org/viewvc/camel/branches/camel-2.9.x/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/DefaultRestletBinding.java?rev=1341294&r1=1341293&r2=1341294&view=diff ============================================================================== --- camel/branches/camel-2.9.x/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/DefaultRestletBinding.java (original) +++ camel/branches/camel-2.9.x/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/DefaultRestletBinding.java Tue May 22 03:41:22 2012 @@ -39,6 +39,7 @@ import org.restlet.data.CharacterSet; import org.restlet.data.Form; import org.restlet.data.MediaType; import org.restlet.data.Method; +import org.restlet.data.Preference; import org.restlet.data.Status; import org.restlet.representation.FileRepresentation; import org.restlet.representation.InputRepresentation; @@ -153,6 +154,12 @@ public class DefaultRestletBinding imple } else { request.setEntity(body, mediaType); } + + MediaType acceptedMediaType = exchange.getIn().getHeader(Exchange.ACCEPT_CONTENT_TYPE, MediaType.class); + if (acceptedMediaType != null) { + request.getClientInfo().getAcceptedMediaTypes().add(new Preference<MediaType>(acceptedMediaType)); + } + } public void populateRestletResponseFromExchange(Exchange exchange, Response response) { Modified: camel/branches/camel-2.9.x/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/RestletHeaderFilterStrategy.java URL: http://svn.apache.org/viewvc/camel/branches/camel-2.9.x/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/RestletHeaderFilterStrategy.java?rev=1341294&r1=1341293&r2=1341294&view=diff ============================================================================== --- camel/branches/camel-2.9.x/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/RestletHeaderFilterStrategy.java (original) +++ camel/branches/camel-2.9.x/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/RestletHeaderFilterStrategy.java Tue May 22 03:41:22 2012 @@ -16,6 +16,7 @@ */ package org.apache.camel.component.restlet; +import org.apache.camel.Exchange; import org.apache.camel.impl.DefaultHeaderFilterStrategy; /** @@ -32,5 +33,10 @@ public class RestletHeaderFilterStrategy // filter headers used internally by this component getOutFilter().add(RestletConstants.RESTLET_LOGIN); getOutFilter().add(RestletConstants.RESTLET_PASSWORD); + + // The "CamelAcceptContentType" header is not added to the outgoing HTTP + // headers but it will be going out as "Accept. + getOutFilter().add(Exchange.ACCEPT_CONTENT_TYPE); + } } Modified: camel/branches/camel-2.9.x/components/camel-restlet/src/test/java/org/apache/camel/component/restlet/RestletPostXmlRouteAndJSONAsReturnTest.java URL: http://svn.apache.org/viewvc/camel/branches/camel-2.9.x/components/camel-restlet/src/test/java/org/apache/camel/component/restlet/RestletPostXmlRouteAndJSONAsReturnTest.java?rev=1341294&r1=1341293&r2=1341294&view=diff ============================================================================== --- camel/branches/camel-2.9.x/components/camel-restlet/src/test/java/org/apache/camel/component/restlet/RestletPostXmlRouteAndJSONAsReturnTest.java (original) +++ camel/branches/camel-2.9.x/components/camel-restlet/src/test/java/org/apache/camel/component/restlet/RestletPostXmlRouteAndJSONAsReturnTest.java Tue May 22 03:41:22 2012 @@ -67,7 +67,7 @@ public class RestletPostXmlRouteAndJSONA postRequestMessage(REQUEST_MESSAGE_WITH_XML_TAG); } - private void postRequestMessage(final String message) throws Exception { + protected void postRequestMessage(final String message) throws Exception { Exchange exchange = template.request("direct:start", new Processor() { public void process(Exchange exchange) throws Exception { exchange.getIn().setBody(message);