You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2008/09/03 20:06:23 UTC

svn commit: r691703 - in /activemq/camel/trunk/components: camel-http/src/main/java/org/apache/camel/component/http/ camel-jetty/src/main/java/org/apache/camel/component/jetty/ camel-jetty/src/test/java/org/apache/camel/component/jetty/

Author: davsclaus
Date: Wed Sep  3 11:06:23 2008
New Revision: 691703

URL: http://svn.apache.org/viewvc?rev=691703&view=rev
Log:
CAMEL-877: http request parameters copied to the exchange.in.headers.

Added:
    activemq/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyContentBasedRouteTest.java   (with props)
    activemq/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyHttpGetWithParamAsExchangeHeaderTest.java   (contents, props changed)
      - copied, changed from r691347, activemq/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyHttpGetWithParamTest.java
    activemq/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettySteveIssueTest.java   (with props)
Modified:
    activemq/camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/HttpBinding.java
    activemq/camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/HttpHeaderFilterStrategy.java
    activemq/camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/HttpMessage.java
    activemq/camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/HttpProducer.java
    activemq/camel/trunk/components/camel-jetty/src/main/java/org/apache/camel/component/jetty/CamelContinuationServlet.java
    activemq/camel/trunk/components/camel-jetty/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
    activemq/camel/trunk/components/camel-jetty/src/main/java/org/apache/camel/component/jetty/JettyHttpEndpoint.java
    activemq/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/ExplicitHttpsRouteTest.java
    activemq/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpRoundtripHeaderTest.java
    activemq/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpToFileTest.java

Modified: activemq/camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/HttpBinding.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/HttpBinding.java?rev=691703&r1=691702&r2=691703&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/HttpBinding.java (original)
+++ activemq/camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/HttpBinding.java Wed Sep  3 11:06:23 2008
@@ -40,8 +40,6 @@
     public static final Set<String> DEFAULT_HEADERS_TO_IGNORE = new HashSet<String>(Arrays.asList(
             "content-length", "content-type", HttpProducer.HTTP_RESPONSE_CODE.toLowerCase()));
 
-    //private Set<String> ignoredHeaders = DEFAULT_HEADERS_TO_IGNORE;
-
     private boolean useReaderForPayload;
     private HeaderFilterStrategy headerFilterStrategy = new HttpHeaderFilterStrategy();
 
@@ -51,21 +49,17 @@
 
     /**
      * Writes the exchange to the servlet response
-     *
-     * @param response
-     * @throws IOException
      */
     public void writeResponse(HttpExchange exchange, HttpServletResponse response) throws IOException {
         Message out = exchange.getOut();
         if (out != null) {
-
-            // Set the status code in the response.  Default is 200.
+            // Set the status code in the response. Default is 200.
             if (out.getHeader(HttpProducer.HTTP_RESPONSE_CODE) != null) {
-                int responseCode = ((Integer)out.getHeader(HttpProducer.HTTP_RESPONSE_CODE)).intValue();
-                response.setStatus(responseCode);
+                int code = out.getHeader(HttpProducer.HTTP_RESPONSE_CODE, Integer.class);
+                response.setStatus(code);
             }
 
-            // Write out the headers...
+            // Write out the headers
             for (String key : out.getHeaders().keySet()) {
                 String value = out.getHeader(key, String.class);
                 if (headerFilterStrategy != null
@@ -77,8 +71,7 @@
             // Write out the body.
             if (out.getBody() != null) {
 
-                // Try to stream the body since that would be the most
-                // efficient..
+                // Try to stream the body since that would be the most efficient
                 InputStream is = out.getBody(InputStream.class);
                 if (is != null) {
                     ServletOutputStream os = response.getOutputStream();
@@ -114,9 +107,7 @@
      * get propagated between exchanges by default
      *
      * @deprecated please use {@link HeaderPropagationStrategy} instead
-     *
      */
-    @Deprecated
     public boolean shouldHeaderBePropagated(String headerName, String headerValue) {
         if (headerValue == null) {
             return false;
@@ -127,11 +118,10 @@
     }
 
     /*
-     * override the set of headers to ignore for responses and new requests
+     * Override the set of headers to ignore for responses and new requests.
      * @param headersToIgnore should be a set of lower-case strings
      *
      * @deprecated please use {@link HeaderPropagationStrategy} instead
-     *
      */
     @Deprecated
     public void setIgnoredHeaders(Set<String> headersToIgnore) {
@@ -142,7 +132,7 @@
     }
 
     /**
-     * @deprecated please use {@link HeaderPropagationStrategy} instead
+     * @deprecated please use {@link org.apache.camel.spi.HeaderFilterStrategy} instead
      */
     @Deprecated
     public Set<String> getIgnoredHeaders() {
@@ -156,15 +146,12 @@
     }
 
     public boolean isUseReaderForPayload() {
-
         return useReaderForPayload;
     }
 
     /**
      * Should the {@link HttpServletRequest#getReader()} be exposed as the payload of input messages in the Camel
      * {@link Message#getBody()} or not. If false then the {@link HttpServletRequest#getInputStream()} will be exposed.
-     *
-     * @param useReaderForPayload
      */
     public void setUseReaderForPayload(boolean useReaderForPayload) {
         this.useReaderForPayload = useReaderForPayload;

Modified: activemq/camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/HttpHeaderFilterStrategy.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/HttpHeaderFilterStrategy.java?rev=691703&r1=691702&r2=691703&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/HttpHeaderFilterStrategy.java (original)
+++ activemq/camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/HttpHeaderFilterStrategy.java Wed Sep  3 11:06:23 2008
@@ -30,6 +30,8 @@
     protected void initialize() {
         getOutFilter().add("content-length");
         getOutFilter().add("content-type");
+        getOutFilter().add(HttpMethods.HTTP_METHOD);
+        getOutFilter().add(HttpProducer.QUERY);
         getOutFilter().add(HttpProducer.HTTP_RESPONSE_CODE.toLowerCase());
         setIsLowercase(true);
         

Modified: activemq/camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/HttpMessage.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/HttpMessage.java?rev=691703&r1=691702&r2=691703&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/HttpMessage.java (original)
+++ activemq/camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/HttpMessage.java Wed Sep  3 11:06:23 2008
@@ -60,11 +60,24 @@
 
     @Override
     protected void populateInitialHeaders(Map<String, Object> map) {
+        // populate the http request headers
         Enumeration names = request.getHeaderNames();
         while (names.hasMoreElements()) {
             String name = (String)names.nextElement();
             Object value = request.getHeader(name);
             map.put(name, value);
         }
+
+        // also populate the http request parameters
+        names = request.getParameterNames();
+        while (names.hasMoreElements()) {
+            String name = (String)names.nextElement();
+            Object value = request.getParameter(name);
+            map.put(name, value);
+        }
+
+        // store the method and query as well
+        map.put(HttpMethods.HTTP_METHOD, request.getMethod());
+        map.put(HttpProducer.QUERY, request.getQueryString());
     }
 }

Modified: activemq/camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/HttpProducer.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/HttpProducer.java?rev=691703&r1=691702&r2=691703&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/HttpProducer.java (original)
+++ activemq/camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/HttpProducer.java Wed Sep  3 11:06:23 2008
@@ -48,10 +48,8 @@
 
     // This should be a set of lower-case strings
     @Deprecated
-    public static final Set<String> HEADERS_TO_SKIP = new HashSet<String>(Arrays.asList("content-length",
-                                                                                        "content-type",
-                                                                                        HTTP_RESPONSE_CODE
-                                                                                            .toLowerCase()));
+    public static final Set<String> HEADERS_TO_SKIP =
+            new HashSet<String>(Arrays.asList("content-length", "content-type", HTTP_RESPONSE_CODE.toLowerCase()));
     private HttpClient httpClient;
 
     public HttpProducer(HttpEndpoint endpoint) {
@@ -62,7 +60,6 @@
     public void process(Exchange exchange) throws Exception {
         HttpMethod method = createMethod(exchange);
         Message in = exchange.getIn();
-        HttpBinding binding = ((HttpEndpoint)getEndpoint()).getBinding();
         HeaderFilterStrategy strategy = ((HttpEndpoint)getEndpoint()).getHeaderFilterStrategy();
 
         // propagate headers as HTTP headers
@@ -153,21 +150,4 @@
         return entity;
     }
 
-    /*
-    protected boolean shouldHeaderBePropagated(String headerName, String headerValue) {
-        if (headerValue == null) {
-            return false;
-        }
-        if (HTTP_METHOD.equals(headerName)) {
-            return false;
-        }
-        if (headerName.startsWith("org.apache.camel")) {
-            return false;
-        }
-        if (HEADERS_TO_SKIP.contains(headerName.toLowerCase())) {
-            return false;
-        }
-        return true;
-    }
-    */
 }

Modified: activemq/camel/trunk/components/camel-jetty/src/main/java/org/apache/camel/component/jetty/CamelContinuationServlet.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-jetty/src/main/java/org/apache/camel/component/jetty/CamelContinuationServlet.java?rev=691703&r1=691702&r2=691703&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-jetty/src/main/java/org/apache/camel/component/jetty/CamelContinuationServlet.java (original)
+++ activemq/camel/trunk/components/camel-jetty/src/main/java/org/apache/camel/component/jetty/CamelContinuationServlet.java Wed Sep  3 11:06:23 2008
@@ -35,13 +35,9 @@
  */
 public class CamelContinuationServlet extends CamelServlet {
 
-    // private static final String EXCHANGE_ATTRIBUTE =
-    // CamelContinuationServlet.class.getName()+".EXCHANGE_ATTRIBUTE";
-
     @Override
     protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
         try {
-
             // Is there a consumer registered for the request.
             HttpConsumer consumer = resolve(request);
             if (consumer == null) {
@@ -49,15 +45,6 @@
                 return;
             }
 
-            // HttpExchange exchange =
-            // (HttpExchange)request.getAttribute(EXCHANGE_ATTRIBUTE);
-            // if( exchange == null ) {
-            // exchange = new HttpExchange(consumer.getEndpoint(), request,
-            // response);
-            // }
-            // Continuation continuation =
-            // ContinuationSupport.getContinuation(request, exchange);
-
             final Continuation continuation = ContinuationSupport.getContinuation(request, null);
             if (continuation.isNew()) {
 
@@ -74,18 +61,15 @@
                 });
 
                 if (!sync) {
-
                     // Wait for the exchange to get processed.
                     // This might block until it completes or it might return via an exception and
                     // then this method is re-invoked once the the exchange has finished processing
                     continuation.suspend(0);
-
                 }
 
                 // HC: The getBinding() is interesting because it illustrates the
-                // impedance miss-match between
-                // HTTP's stream oriented protocol, and Camels more message oriented
-                // protocol exchanges.
+                // impedance miss-match between HTTP's stream oriented protocol, and
+                // Camels more message oriented protocol exchanges.
 
                 // now lets output to the response
                 consumer.getBinding().writeResponse(exchange, response);
@@ -99,11 +83,9 @@
                 return;
             }
 
-
         } catch (Exception e) {
             throw new ServletException(e);
         }
     }
 
-
 }

Modified: activemq/camel/trunk/components/camel-jetty/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-jetty/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java?rev=691703&r1=691702&r2=691703&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-jetty/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java (original)
+++ activemq/camel/trunk/components/camel-jetty/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java Wed Sep  3 11:06:23 2008
@@ -76,8 +76,7 @@
     @Override
     protected Endpoint<HttpExchange> createEndpoint(String uri, String remaining, Map parameters) throws Exception {
         URI httpURL = uri.startsWith("jetty:") ? new URI(remaining) : new URI(uri);
-        JettyHttpEndpoint result =
-            new JettyHttpEndpoint(this, uri, httpURL, getHttpConnectionManager());
+        JettyHttpEndpoint result = new JettyHttpEndpoint(this, uri, httpURL, getHttpConnectionManager());
         setProperties(result, parameters);
         return result;
     }
@@ -143,15 +142,13 @@
     /**
      * Disconnects the URL specified on the endpoint from the specified
      * processor.
-     *
-     * @throws Exception
      */
     @Override
     public void disconnect(HttpConsumer consumer) throws Exception {
         camelServlet.disconnect(consumer);
 
-        // If the connector is not needed anymore.. then stop it.
-        HttpEndpoint endpoint = (HttpEndpoint)consumer.getEndpoint();
+        // If the connector is not needed anymore then stop it
+        HttpEndpoint endpoint = consumer.getEndpoint();
         String connectorKey = endpoint.getProtocol() + ":" + endpoint.getPort();
 
         synchronized (connectors) {

Modified: activemq/camel/trunk/components/camel-jetty/src/main/java/org/apache/camel/component/jetty/JettyHttpEndpoint.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-jetty/src/main/java/org/apache/camel/component/jetty/JettyHttpEndpoint.java?rev=691703&r1=691702&r2=691703&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-jetty/src/main/java/org/apache/camel/component/jetty/JettyHttpEndpoint.java (original)
+++ activemq/camel/trunk/components/camel-jetty/src/main/java/org/apache/camel/component/jetty/JettyHttpEndpoint.java Wed Sep  3 11:06:23 2008
@@ -68,4 +68,5 @@
     public boolean isSessionSupport() {
         return sessionSupport;
     }
+
 }

Modified: activemq/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/ExplicitHttpsRouteTest.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/ExplicitHttpsRouteTest.java?rev=691703&r1=691702&r2=691703&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/ExplicitHttpsRouteTest.java (original)
+++ activemq/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/ExplicitHttpsRouteTest.java Wed Sep  3 11:06:23 2008
@@ -29,7 +29,6 @@
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
             public void configure() {
-                
                 SslSocketConnector sslSocketConnector = new SslSocketConnector();
                 sslSocketConnector.setKeyPassword(pwd);
                 sslSocketConnector.setPassword(pwd);

Modified: activemq/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpRoundtripHeaderTest.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpRoundtripHeaderTest.java?rev=691703&r1=691702&r2=691703&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpRoundtripHeaderTest.java (original)
+++ activemq/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpRoundtripHeaderTest.java Wed Sep  3 11:06:23 2008
@@ -40,7 +40,6 @@
 
     // http://issues.apache.org/activemq/browse/CAMEL-324
     public void testHttpRoundTripHeaders() throws Exception {
-
         MockEndpoint mockEndpoint = resolveMandatoryEndpoint("mock:results", MockEndpoint.class);
         mockEndpoint.expectedMessageCount(1);
 
@@ -52,12 +51,10 @@
         String lastLine = readLastLine(answer);
 
         assertNotNull("last response line", lastLine);
-        assertEquals("response matches: " + expectedText, expectedText,
-                lastLine);
+        assertEquals("response matches: " + expectedText, expectedText, lastLine);
     }
 
     public void testHttpRoundTripHeadersWithNoIngoredHeaders() throws Exception {
-
         MockEndpoint mockEndpoint = resolveMandatoryEndpoint("mock:results", MockEndpoint.class);
         mockEndpoint.expectedMessageCount(1);
 
@@ -73,8 +70,7 @@
         String lastLine = readLastLine(answer);
 
         assertNotNull("last response line", lastLine);
-        // Content-Length from request will truncate the output to just the
-        // inputText
+        // Content-Length from request will truncate the output to just the inputText
         assertEquals("response matches: " + inputText, inputText, lastLine);
     }
 
@@ -112,8 +108,7 @@
 
     private String readLastLine(InputStream answer) throws IOException {
         String lastLine = null;
-        BufferedReader reader = new BufferedReader(
-                new InputStreamReader(answer));
+        BufferedReader reader = new BufferedReader(new InputStreamReader(answer));
         while (true) {
             String line = reader.readLine();
             if (line == null) {

Modified: activemq/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpToFileTest.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpToFileTest.java?rev=691703&r1=691702&r2=691703&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpToFileTest.java (original)
+++ activemq/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpToFileTest.java Wed Sep  3 11:06:23 2008
@@ -19,9 +19,6 @@
 import java.io.File;
 
 import org.apache.camel.ContextTestSupport;
-import org.apache.camel.Exchange;
-import org.apache.camel.ExchangePattern;
-import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.file.FileComponent;
 import org.apache.camel.converter.IOConverter;
@@ -61,19 +58,11 @@
                 from("jetty:http://localhost:8080/myworld").to("seda:in").setBody(constant("We got the file"));
 
                 // store the content from the queue as a file
-                from("seda:in").process(new MyJettyProcessor())
+                from("seda:in")
                     .setHeader(FileComponent.HEADER_FILE_NAME, constant("hello.txt"))
                     .to("file://target/myworld?append=false");
             }
         };
     }
 
-    private class MyJettyProcessor implements Processor {
-        public void process(Exchange exchange) throws Exception {
-            // must convert to in only as file producer will try to load the file if the exchange pattern
-            // is out capable.
-            exchange.setPattern(ExchangePattern.InOnly);
-        }
-    }
-
 }

Added: activemq/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyContentBasedRouteTest.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyContentBasedRouteTest.java?rev=691703&view=auto
==============================================================================
--- activemq/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyContentBasedRouteTest.java (added)
+++ activemq/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyContentBasedRouteTest.java Wed Sep  3 11:06:23 2008
@@ -0,0 +1,62 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.jetty;
+
+import org.apache.camel.ContextTestSupport;
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.mock.MockEndpoint;
+
+/**
+ * Unit test with a simple route test.
+ */
+public class JettyContentBasedRouteTest extends ContextTestSupport {
+
+    private String serverUri = "http://localhost:5432/myservice";
+
+    public void testSendOne() throws Exception {
+        MockEndpoint mock = getMockEndpoint("mock:one");
+        mock.expectedBodiesReceived("Hello World");
+        mock.expectedHeaderReceived("one", "true");
+
+        template.sendBody(serverUri + "?one=true", "Hello World");
+
+        assertMockEndpointsSatisifed();
+    }
+
+    public void testSendOther() throws Exception {
+        MockEndpoint mock = getMockEndpoint("mock:other");
+        mock.expectedBodiesReceived("Bye World");
+        mock.expectedHeaderReceived("two", "true");
+
+        template.sendBody(serverUri + "?two=true", "Bye World");
+
+        assertMockEndpointsSatisifed();
+    }
+
+    protected RouteBuilder createRouteBuilder() throws Exception {
+        return new RouteBuilder() {
+            public void configure() throws Exception {
+                from("jetty:" + serverUri)
+                    .choice()
+                    .when().simple("in.header.one").to("mock:one")
+                .otherwise()
+                    .to("mock:other");
+            }
+        };
+    }
+
+}
\ No newline at end of file

Propchange: activemq/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyContentBasedRouteTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: activemq/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyContentBasedRouteTest.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Copied: activemq/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyHttpGetWithParamAsExchangeHeaderTest.java (from r691347, activemq/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyHttpGetWithParamTest.java)
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyHttpGetWithParamAsExchangeHeaderTest.java?p2=activemq/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyHttpGetWithParamAsExchangeHeaderTest.java&p1=activemq/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyHttpGetWithParamTest.java&r1=691347&r2=691703&rev=691703&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyHttpGetWithParamTest.java (original)
+++ activemq/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyHttpGetWithParamAsExchangeHeaderTest.java Wed Sep  3 11:06:23 2008
@@ -16,39 +16,37 @@
  */
 package org.apache.camel.component.jetty;
 
-import junit.framework.Assert;
 import org.apache.camel.ContextTestSupport;
-import org.apache.camel.Exchange;
-import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.http.HttpExchange;
+import org.apache.camel.component.http.HttpMethods;
 import org.apache.camel.component.http.HttpProducer;
 import org.apache.camel.component.mock.MockEndpoint;
 
 /**
  * Unit test to verify that we can have URI options for external system (endpoint is lenient)
  */
-public class JettyHttpGetWithParamTest extends ContextTestSupport {
+public class JettyHttpGetWithParamAsExchangeHeaderTest extends ContextTestSupport {
 
     private String serverUri = "http://localhost:5432/myservice";
-    private MyParamsProcessor processor = new MyParamsProcessor();
 
     public void testHttpGetWithParamsViaURI() throws Exception {
         MockEndpoint mock = getMockEndpoint("mock:result");
-        mock.expectedBodiesReceived("Bye World");
+        mock.expectedBodiesReceived("Hello World");
         mock.expectedHeaderReceived("one", "einz");
         mock.expectedHeaderReceived("two", "twei");
+        mock.expectedHeaderReceived(HttpMethods.HTTP_METHOD, "POST");
 
-        template.sendBody(serverUri + "?one=uno&two=dos", "Hello World");
+        template.sendBody(serverUri + "?one=einz&two=twei", "Hello World");
 
         assertMockEndpointsSatisifed();
     }
 
     public void testHttpGetWithParamsViaHeader() throws Exception {
         MockEndpoint mock = getMockEndpoint("mock:result");
-        mock.expectedBodiesReceived("Bye World");
-        mock.expectedHeaderReceived("one", "einz");
-        mock.expectedHeaderReceived("two", "twei");
+        mock.expectedBodiesReceived("Hello World");
+        mock.expectedHeaderReceived("one", "uno");
+        mock.expectedHeaderReceived("two", "dos");
+        mock.expectedHeaderReceived(HttpMethods.HTTP_METHOD, "POST");
 
         template.sendBodyAndHeader(serverUri, "Hello World", HttpProducer.QUERY, "one=uno&two=dos");
 
@@ -58,22 +56,9 @@
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
             public void configure() throws Exception {
-                from("jetty:" + serverUri).process(processor).to("mock:result");
+                from("jetty:" + serverUri).to("mock:result");
             }
         };
     }
 
-    private class MyParamsProcessor implements Processor {
-        public void process(Exchange exchange) throws Exception {
-            HttpExchange http = (HttpExchange) exchange;
-            Assert.assertNotNull(http.getRequest());
-            Assert.assertEquals("uno", http.getRequest().getParameter("one"));
-            Assert.assertEquals("dos", http.getRequest().getParameter("two"));
-
-            exchange.getOut(true).setBody("Bye World");
-            exchange.getOut(true).setHeader("one", "einz");
-            exchange.getOut(true).setHeader("two", "twei");
-        }
-    }
-
-}
+}
\ No newline at end of file

Propchange: activemq/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyHttpGetWithParamAsExchangeHeaderTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: activemq/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyHttpGetWithParamAsExchangeHeaderTest.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: activemq/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyHttpGetWithParamAsExchangeHeaderTest.java
------------------------------------------------------------------------------
    svn:mergeinfo = 

Added: activemq/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettySteveIssueTest.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettySteveIssueTest.java?rev=691703&view=auto
==============================================================================
--- activemq/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettySteveIssueTest.java (added)
+++ activemq/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettySteveIssueTest.java Wed Sep  3 11:06:23 2008
@@ -0,0 +1,34 @@
+package org.apache.camel.component.jetty;
+
+import org.apache.camel.ContextTestSupport;
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.mock.MockEndpoint;
+
+/**
+ * Unit test based on Steve request for CAMEL-877.
+ */
+public class JettySteveIssueTest extends ContextTestSupport {
+
+    private String serverUri = "http://localhost:5432/myservice";
+
+    public void testSendX() throws Exception {
+        MockEndpoint mock = getMockEndpoint("mock:result");
+        mock.expectedBodiesReceived("<html><body>foo</body></html>");
+        mock.expectedHeaderReceived("x", "foo");
+
+        template.sendBody(serverUri + "?x=foo", "Hello World");
+
+        assertMockEndpointsSatisifed();
+    }
+
+    protected RouteBuilder createRouteBuilder() throws Exception {
+        return new RouteBuilder() {
+            public void configure() throws Exception {
+                from("jetty:" + serverUri)
+                    .setBody().simple("<html><body>${in.header.x}</body></html>")
+                    .to("mock:result");
+            }
+        };
+    }
+
+}

Propchange: activemq/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettySteveIssueTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: activemq/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettySteveIssueTest.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date