Author: davsclaus Date: Wed Mar 3 06:44:53 2010 New Revision: 918337 URL: http://svn.apache.org/viewvc?rev=918337&view=rev Log: Added example how to return a custom 500 reply with Jetty.
Added: camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyOnExceptionHandledTest.java (with props) Modified: camel/trunk/components/camel-hawtdb/src/test/resources/log4j.properties Modified: camel/trunk/components/camel-hawtdb/src/test/resources/log4j.properties URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-hawtdb/src/test/resources/log4j.properties?rev=918337&r1=918336&r2=918337&view=diff ============================================================================== --- camel/trunk/components/camel-hawtdb/src/test/resources/log4j.properties (original) +++ camel/trunk/components/camel-hawtdb/src/test/resources/log4j.properties Wed Mar 3 06:44:53 2010 @@ -18,7 +18,7 @@ # # The logging properties used for eclipse testing, We want to see debug output on the console. # -log4j.rootLogger=DEBUG, file +log4j.rootLogger=INFO, file # uncomment the following to enable camel debugging #log4j.logger.org.apache.camel=DEBUG Added: camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyOnExceptionHandledTest.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyOnExceptionHandledTest.java?rev=918337&view=auto ============================================================================== --- camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyOnExceptionHandledTest.java (added) +++ camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyOnExceptionHandledTest.java Wed Mar 3 06:44:53 2010 @@ -0,0 +1,60 @@ +/** + * 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.Exchange; +import org.apache.camel.builder.RouteBuilder; +import org.apache.camel.test.junit4.CamelTestSupport; +import org.junit.Test; + +/** + * @version $Revision$ + */ +public class JettyOnExceptionHandledTest extends CamelTestSupport { + + @Test + public void testJettyOnException() throws Exception { + Exchange reply = template.request("http://localhost:8234/myserver?throwExceptionOnFailure=false", null); + + assertNotNull(reply); + assertEquals("Dude something went wrong", reply.getOut().getBody(String.class)); + assertEquals(500, reply.getOut().getHeader(Exchange.HTTP_RESPONSE_CODE)); + } + + @Override + protected RouteBuilder createRouteBuilder() throws Exception { + return new RouteBuilder() { + @Override + public void configure() throws Exception { + // START SNIPPET: e1 + from("jetty://http://localhost:8234/myserver") + // use onException to catch all exceptions and return a custom reply message + .onException(Exception.class) + .handled(true) + // create a custom failure response + .transform(constant("Dude something went wrong")) + // we must remember to set error code 500 as handled(true) + // otherwise would let Camel thing its a OK response (200) + .setHeader(Exchange.HTTP_RESPONSE_CODE, constant(500)) + .end() + // now just force an exception immediately + .throwException(new IllegalArgumentException("I cannot do this")); + // END SNIPPET: e1 + } + }; + } +} Propchange: camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyOnExceptionHandledTest.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyOnExceptionHandledTest.java ------------------------------------------------------------------------------ svn:keywords = Rev Date