Author: ningjiang Date: Thu Feb 12 04:02:33 2009 New Revision: 743613 URL: http://svn.apache.org/viewvc?rev=743613&view=rev Log: CAMEL-1327 applied patch with thanks to Roberto, also update the unit tests for verification
Modified: camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/DefaultHttpBinding.java camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/helper/GZIPHelper.java camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyContentTypeTest.java camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyImageFileTest.java Modified: camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/DefaultHttpBinding.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/DefaultHttpBinding.java?rev=743613&r1=743612&r2=743613&view=diff ============================================================================== --- camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/DefaultHttpBinding.java (original) +++ camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/DefaultHttpBinding.java Thu Feb 12 04:02:33 2009 @@ -162,10 +162,14 @@ public Object parseBody(HttpMessage httpMessage) throws IOException { // lets assume the body is a reader HttpServletRequest request = httpMessage.getRequest(); + // Need to handle the GET Method which has no inputStream + if ("GET".equals(request.getMethod())) { + return null; + } if (isUseReaderForPayload()) { return request.getReader(); } else { - return request.getInputStream(); + return GZIPHelper.getInputStream(request); } } Modified: camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/helper/GZIPHelper.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/helper/GZIPHelper.java?rev=743613&r1=743612&r2=743613&view=diff ============================================================================== --- camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/helper/GZIPHelper.java (original) +++ camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/helper/GZIPHelper.java Thu Feb 12 04:02:33 2009 @@ -66,7 +66,7 @@ method.getResponseBodyAsStream()); } - public static InputStream getInputStream(HttpServletRequest request) throws Exception { + public static InputStream getInputStream(HttpServletRequest request) throws IOException { InputStream dataStream = request.getInputStream(); String contentEncoding = request.getHeader(CONTENT_ENCODING); return getGZIPWrappedInputStream(contentEncoding, dataStream); Modified: camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyContentTypeTest.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyContentTypeTest.java?rev=743613&r1=743612&r2=743613&view=diff ============================================================================== --- camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyContentTypeTest.java (original) +++ camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyContentTypeTest.java Thu Feb 12 04:02:33 2009 @@ -67,14 +67,14 @@ protected RouteBuilder createRouteBuilder() throws Exception { return new RouteBuilder() { public void configure() throws Exception { - from("jetty:http://localhost:9080/myapp/myservice").process(new MyBookService()); + from("jetty:http://localhost:9080/myapp/myservice").streamCaching().process(new MyBookService()); } }; } public class MyBookService implements Processor { public void process(Exchange exchange) throws Exception { - if (exchange.getIn().getHeader("user") != null) { + if (exchange.getIn().getHeader("user") != null && exchange.getIn().getBody(String.class).equals("<order>123</order>")) { exchange.getOut().setBody("<order>OK</order>"); } else { exchange.getOut().setBody("FAIL"); Modified: camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyImageFileTest.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyImageFileTest.java?rev=743613&r1=743612&r2=743613&view=diff ============================================================================== --- camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyImageFileTest.java (original) +++ camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyImageFileTest.java Thu Feb 12 04:02:33 2009 @@ -32,7 +32,7 @@ private void sendImageContent(boolean usingGZip) throws Exception { Endpoint endpoint = context.getEndpoint("http://localhost:9080/myapp/myservice"); - Exchange exchange = endpoint.createExchange(); + Exchange exchange = endpoint.createExchange(); if (usingGZip) { GZIPHelper.setGZIPMessageHeader(exchange.getIn()); } @@ -54,13 +54,13 @@ protected RouteBuilder createRouteBuilder() throws Exception { return new RouteBuilder() { public void configure() throws Exception { - from("jetty:http://localhost:9080/myapp/myservice").process(new MyImageService()); + from("jetty:http://localhost:9080/myapp/myservice").streamCaching().process(new MyImageService()); } }; } public class MyImageService implements Processor { - public void process(Exchange exchange) throws Exception { + public void process(Exchange exchange) throws Exception { exchange.getOut().setBody(new File("src/test/data/logo.jpeg")); exchange.getOut().setHeader("Content-Type", "image/jpeg"); }