You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by jd...@apache.org on 2010/11/28 20:18:02 UTC

svn commit: r1039923 - /wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/servlet/

Author: jdonnerstag
Date: Sun Nov 28 19:18:01 2010
New Revision: 1039923

URL: http://svn.apache.org/viewvc?rev=1039923&view=rev
Log:
WICKET-3015 some more changes


Issue: WICKET-3015

Added:
    wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/servlet/SecuredRemoteAddressRequestWrapperFactory.java
      - copied, changed from r1039920, wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/servlet/SecuredRemoteAddressRequestWrapper.java
Removed:
    wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/servlet/IRequestWrapperFactory.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/servlet/SecuredRemoteAddressRequestWrapper.java
Modified:
    wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/servlet/AbstractRequestWrapperFactory.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/servlet/XForwardedRequestWrapperFactory.java

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/servlet/AbstractRequestWrapperFactory.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/servlet/AbstractRequestWrapperFactory.java?rev=1039923&r1=1039922&r2=1039923&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/servlet/AbstractRequestWrapperFactory.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/servlet/AbstractRequestWrapperFactory.java Sun Nov 28 19:18:01 2010
@@ -28,9 +28,11 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 /**
+ * Abstract base class for HttpServletRequestWrapper
+ * 
  * @author Juergen Donnerstag
  */
-public abstract class AbstractRequestWrapperFactory implements IRequestWrapperFactory
+public abstract class AbstractRequestWrapperFactory
 {
 	/** Logger */
 	private static final Logger log = LoggerFactory.getLogger(AbstractRequestWrapperFactory.class);
@@ -62,29 +64,28 @@ public abstract class AbstractRequestWra
 	}
 
 	/**
-	 * @see org.apache.wicket.protocol.http.servlet.IRequestWrapperFactory#getWrapper(javax.servlet.HttpServletRequest)
+	 * @param request
+	 * @return Either return the request itself, or if needed a wrapper for the request
 	 */
-	public HttpServletRequest getWrapper(final HttpServletRequest servletRequest)
+	public HttpServletRequest getWrapper(final HttpServletRequest request)
 	{
-		HttpServletRequest xRequest = servletRequest;
-		if (isEnabled() && needsWrapper(servletRequest))
+		HttpServletRequest xRequest = request;
+		if (isEnabled() && needsWrapper(request))
 		{
-			return newRequestWrapper(servletRequest);
+			return newRequestWrapper(request);
 		}
 		return xRequest;
 	}
 
 	/**
-	 * 
 	 * @param request
 	 * @return True, if a wrapper is needed
 	 */
 	abstract boolean needsWrapper(final HttpServletRequest request);
 
 	/**
-	 * 
 	 * @param request
-	 * @return Either the original request or a wrapper
+	 * @return Create a wrapper for the request
 	 */
 	abstract public HttpServletRequest newRequestWrapper(HttpServletRequest request);
 

Copied: wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/servlet/SecuredRemoteAddressRequestWrapperFactory.java (from r1039920, wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/servlet/SecuredRemoteAddressRequestWrapper.java)
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/servlet/SecuredRemoteAddressRequestWrapperFactory.java?p2=wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/servlet/SecuredRemoteAddressRequestWrapperFactory.java&p1=wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/servlet/SecuredRemoteAddressRequestWrapper.java&r1=1039920&r2=1039923&rev=1039923&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/servlet/SecuredRemoteAddressRequestWrapper.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/servlet/SecuredRemoteAddressRequestWrapperFactory.java Sun Nov 28 19:18:01 2010
@@ -23,21 +23,17 @@ import javax.servlet.ServletRequest;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletRequestWrapper;
 
-import org.apache.wicket.Application;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 /**
- * <p>
  * Sets {@link RequestFacade#isSecure()} to <code>true</code> if
  * {@link ServletRequest#getRemoteAddr()} matches one of the <code>securedRemoteAddresses</code> of
  * this filter.
- * </p>
  * <p>
- * This filter is often preceded by the {@link XForwardedWicketFilterExtension} to get the remote
- * address of the client even if the request goes through load balancers (e.g. F5 Big IP, Nortel
- * Alteon) or proxies (e.g. Apache mod_proxy_http)
- * </p>
+ * This filter is often used in combination with {@link XForwardedRequestWrapperFactory} to get the
+ * remote address of the client even if the request goes through load balancers (e.g. F5 Big IP,
+ * Nortel Alteon) or proxies (e.g. Apache mod_proxy_http)
  * <p>
  * <strong>Configuration parameters:</strong>
  * <table border="1">
@@ -90,10 +86,10 @@ import org.slf4j.LoggerFactory;
  * @author <a href="mailto:cyrille@cyrilleleclerc.com">Cyrille Le Clerc</a>
  * @author Juergen Donnerstag
  */
-public class SecuredRemoteAddressRequestWrapper extends AbstractRequestWrapperFactory
+public class SecuredRemoteAddressRequestWrapperFactory extends AbstractRequestWrapperFactory
 {
 	/** Logger */
-	private static final Logger log = LoggerFactory.getLogger(SecuredRemoteAddressRequestWrapper.class);
+	private static final Logger log = LoggerFactory.getLogger(SecuredRemoteAddressRequestWrapperFactory.class);
 
 	private final static String SECURED_REMOTE_ADDRESSES_PARAMETER = "securedRemoteAddresses";
 
@@ -193,11 +189,9 @@ public class SecuredRemoteAddressRequest
 	}
 
 	/**
-	 * @see org.apache.wicket.protocol.http.servlet.IRequestWrapperFactory#init(org.apache.wicket.Application,
-	 *      boolean, javax.servlet.FilterConfig)
+	 * @param filterConfig
 	 */
-	public void init(final Application application, final boolean isServlet,
-		final FilterConfig filterConfig)
+	public void init(final FilterConfig filterConfig)
 	{
 		String comaDelimitedSecuredRemoteAddresses = filterConfig.getInitParameter(SECURED_REMOTE_ADDRESSES_PARAMETER);
 		if (comaDelimitedSecuredRemoteAddresses != null)

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/servlet/XForwardedRequestWrapperFactory.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/servlet/XForwardedRequestWrapperFactory.java?rev=1039923&r1=1039922&r2=1039923&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/servlet/XForwardedRequestWrapperFactory.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/servlet/XForwardedRequestWrapperFactory.java Sun Nov 28 19:18:01 2010
@@ -20,31 +20,26 @@ import java.util.LinkedList;
 import java.util.regex.Pattern;
 
 import javax.servlet.FilterConfig;
-import javax.servlet.ServletException;
 import javax.servlet.ServletRequest;
 import javax.servlet.http.HttpServletRequest;
 
-import org.apache.wicket.Application;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 /**
- * Servlet filter to integrate "X-Forwarded-For" and "X-Forwarded-Proto" HTTP headers. </p>
+ * Request wrapper factory to integrate "X-Forwarded-For" and "X-Forwarded-Proto" HTTP headers.
  * <p>
  * Most of the design of this Servlet Filter is a port of <a
  * href="http://httpd.apache.org/docs/trunk/mod/mod_remoteip.html">mod_remoteip</a>, this servlet
  * filter replaces the apparent client remote IP address and hostname for the request with the IP
  * address list presented by a proxy or a load balancer via a request headers (e.g.
  * "X-Forwarded-For").
- * </p>
  * <p>
  * Another feature of this servlet filter is to replace the apparent scheme (http/https) and server
  * port with the scheme presented by a proxy or a load balancer via a request header (e.g.
  * "X-Forwarded-Proto").
- * </p>
  * <p>
- * This servlet filter proceeds as follows:
- * </p>
+ * This wrapper proceeds as follows:
  * <p>
  * If the incoming <code>request.getRemoteAddr()</code> matches the servlet filter's list of
  * internal proxies :
@@ -655,6 +650,7 @@ public class XForwardedRequestWrapperFac
 	public HttpServletRequest newRequestWrapper(final HttpServletRequest request)
 	{
 		String remoteIp = null;
+
 		// In java 6, proxiesHeaderValue should be declared as a java.util.Deque
 		LinkedList<String> proxiesHeaderValue = new LinkedList<String>();
 
@@ -755,14 +751,10 @@ public class XForwardedRequestWrapperFac
 	}
 
 	/**
-	 * Get xforwarded specific config from web.xml filter config
 	 * 
-	 * @param isServlet
 	 * @param filterConfig
-	 * @throws ServletException
 	 */
-	public void init(final Application application, final boolean isServlet,
-		final FilterConfig filterConfig)
+	public void init(final FilterConfig filterConfig)
 	{
 		if (filterConfig.getInitParameter(INTERNAL_PROXIES_PARAMETER) != null)
 		{