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