Repository: camel
Updated Branches:
  refs/heads/master e7eca7c6b -> cff69b0cb


CAMEL-10270: Jetty 9 X-Forwarded-For Configuration. Thanks to Remco Schoen.


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

Branch: refs/heads/master
Commit: 08f46a76de7c697d8c816a7129bb3d4053f3f5a6
Parents: e7eca7c
Author: Andrea Cosentino <anco...@gmail.com>
Authored: Fri Aug 26 11:16:35 2016 +0200
Committer: Andrea Cosentino <anco...@gmail.com>
Committed: Fri Aug 26 11:26:38 2016 +0200

----------------------------------------------------------------------
 .../camel/component/jetty/JettyHttpComponent.java  | 17 +++++++++++++++++
 .../component/jetty9/JettyHttpComponent9.java      |  5 ++++-
 2 files changed, 21 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/08f46a76/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
----------------------------------------------------------------------
diff --git 
a/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
 
b/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
index 72e7419..8e06626 100644
--- 
a/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
+++ 
b/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
@@ -129,6 +129,7 @@ public abstract class JettyHttpComponent extends 
HttpCommonComponent implements
     protected Integer responseHeaderSize;
     protected String proxyHost;
     protected ErrorHandler errorHandler;
+    protected boolean useXForwardedForHeader;
     private Integer proxyPort;
     private boolean sendServerVersion = true;
 
@@ -993,6 +994,22 @@ public abstract class JettyHttpComponent extends 
HttpCommonComponent implements
     public boolean isSendServerVersion() {
         return sendServerVersion;
     }
+    
+    /**
+     * To use the X-Fowarded-For header in HttpServletRequest.getRemoteAddr.
+     */
+    @Metadata(description = "To use the X-Fowarded-For header in 
HttpServletRequest.getRemoteAddr.")
+    public boolean isUseXForwardedForHeader() {
+        return useXForwardedForHeader;
+    }
+
+    /**
+     * To use a http proxy to configure the port number.
+     */
+    @Metadata(description = "To use the X-Fowarded-For header in 
HttpServletRequest.getRemoteAddr.")
+    public void setUseXForwardedForHeader(boolean useXForwardedForHeader) {
+        this.useXForwardedForHeader = useXForwardedForHeader;
+    }
 
     /**
      * If the option is true, jetty will send the server header with the jetty 
version information to the client which sends the request.

http://git-wip-us.apache.org/repos/asf/camel/blob/08f46a76/components/camel-jetty9/src/main/java/org/apache/camel/component/jetty9/JettyHttpComponent9.java
----------------------------------------------------------------------
diff --git 
a/components/camel-jetty9/src/main/java/org/apache/camel/component/jetty9/JettyHttpComponent9.java
 
b/components/camel-jetty9/src/main/java/org/apache/camel/component/jetty9/JettyHttpComponent9.java
index 66a49cf..0b2177f 100644
--- 
a/components/camel-jetty9/src/main/java/org/apache/camel/component/jetty9/JettyHttpComponent9.java
+++ 
b/components/camel-jetty9/src/main/java/org/apache/camel/component/jetty9/JettyHttpComponent9.java
@@ -30,6 +30,7 @@ import org.apache.camel.util.ObjectHelper;
 import org.eclipse.jetty.server.AbstractConnector;
 import org.eclipse.jetty.server.ConnectionFactory;
 import org.eclipse.jetty.server.Connector;
+import org.eclipse.jetty.server.ForwardedRequestCustomizer;
 import org.eclipse.jetty.server.HttpConnectionFactory;
 import org.eclipse.jetty.server.Server;
 import org.eclipse.jetty.server.ServerConnector;
@@ -91,7 +92,9 @@ public class JettyHttpComponent9 extends JettyHttpComponent {
             if (responseHeaderSize != null) {
                 httpConfig.setResponseHeaderSize(responseHeaderSize);
             }
-            
+            if (useXForwardedForHeader) {
+                httpConfig.addCustomizer(new ForwardedRequestCustomizer());
+            }            
             HttpConnectionFactory httpFactory = new 
org.eclipse.jetty.server.HttpConnectionFactory(httpConfig); 
 
             ArrayList<ConnectionFactory> connectionFactories = new 
ArrayList<ConnectionFactory>();

Reply via email to