Repository: camel
Updated Branches:
  refs/heads/camel-2.13.x aae2e24d2 -> ebf9b1fa6
  refs/heads/camel-2.14.x 55e096c05 -> 80e93e5d3


CAMEL-8036 JettyComponent should not setup the security handler more than once


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/80e93e5d
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/80e93e5d
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/80e93e5d

Branch: refs/heads/camel-2.14.x
Commit: 80e93e5d31ea56ca6ef673eca5ac8ee86cefefb4
Parents: 55e096c
Author: Willem Jiang <willem.ji...@gmail.com>
Authored: Wed Nov 12 17:14:10 2014 +0800
Committer: Willem Jiang <willem.ji...@gmail.com>
Committed: Wed Nov 12 18:50:07 2014 +0800

----------------------------------------------------------------------
 .../org/apache/camel/component/jetty/JettyHttpComponent.java  | 7 +++++--
 .../component/jetty/HttpBasicAuthComponentConfiguredTest.java | 6 ++++++
 2 files changed, 11 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/80e93e5d/components/camel-jetty/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
----------------------------------------------------------------------
diff --git 
a/components/camel-jetty/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
 
b/components/camel-jetty/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
index 71c3f1e..f2a10ce 100644
--- 
a/components/camel-jetty/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
+++ 
b/components/camel-jetty/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
@@ -1075,8 +1075,11 @@ public class JettyHttpComponent extends HttpComponent 
implements RestConsumerFac
         if (handlers != null && !handlers.isEmpty()) {
             for (Handler handler : handlers) {
                 if (handler instanceof HandlerWrapper) {
-                    ((HandlerWrapper) handler).setHandler(server.getHandler());
-                    server.setHandler(handler);
+                    // avoid setting the security handler more than once
+                    if (!handler.equals(server.getHandler())) {
+                        ((HandlerWrapper) 
handler).setHandler(server.getHandler());
+                        server.setHandler(handler);
+                    }
                 } else {
                     HandlerCollection handlerCollection = new 
HandlerCollection();
                     handlerCollection.addHandler(server.getHandler());

http://git-wip-us.apache.org/repos/asf/camel/blob/80e93e5d/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpBasicAuthComponentConfiguredTest.java
----------------------------------------------------------------------
diff --git 
a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpBasicAuthComponentConfiguredTest.java
 
b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpBasicAuthComponentConfiguredTest.java
index a34ffa9..18fccfc 100644
--- 
a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpBasicAuthComponentConfiguredTest.java
+++ 
b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpBasicAuthComponentConfiguredTest.java
@@ -71,6 +71,9 @@ public class HttpBasicAuthComponentConfiguredTest extends 
BaseJettyTest {
     public void testHttpBasicAuth() throws Exception {
         String out = template.requestBody("http://localhost:{{port}}/test";, 
"Hello World", String.class);
         assertEquals("Bye World", out);
+        
+        out = template.requestBody("http://localhost:{{port}}/anotherTest";, 
"Hello World", String.class);
+        assertEquals("See you later", out);
     }
 
     @Override
@@ -97,6 +100,9 @@ public class HttpBasicAuthComponentConfiguredTest extends 
BaseJettyTest {
                         }
                     })
                     .transform(constant("Bye World"));
+                
+                
from("jetty://http://localhost:{{port}}/anotherTest?handlers=myAuthHandler";)
+                    .transform(constant("See you later"));
             }
         };
     }

Reply via email to