* </p>
* <code><pre>
* <filter>
- * <filter-name>XForwardedFilter</filter-name>
- * <filter-class>fr.xebia.servlet.filter.XForwardedFilter</filter-class>
+ * <filter-name>RemoteIpFilter</filter-name>
+ * <filter-class>org.apache.catalina.filters.RemoteIpFilter</filter-class>
* <init-param>
* <param-name>internalProxies</param-name><param-value>192\.168\.0\.10, 192\.168\.0\.11</param-value>
* </init-param>
* </filter>
*
* <filter-mapping>
- * <filter-name>XForwardedFilter</filter-name>
+ * <filter-name>RemoteIpFilter</filter-name>
* <url-pattern>/*</url-pattern>
* <dispatcher>REQUEST</dispatcher>
* </filter-mapping></pre></code>
* <table border="1">
* <tr>
* <th>property</th>
- * <th>Value Before XForwardedFilter</th>
- * <th>Value After XForwardedFilter</th>
+ * <th>Value Before RemoteIpFilter</th>
+ * <th>Value After RemoteIpFilter</th>
* </tr>
* <tr>
* <td>request.remoteAddr</td>
* <strong>Sample with trusted proxies</strong>
* </p>
* <p>
- * XForwardedFilter configuration:
+ * RemoteIpFilter configuration:
* </p>
* <code><pre>
* <filter>
- * <filter-name>XForwardedFilter</filter-name>
- * <filter-class>fr.xebia.servlet.filter.XForwardedFilter</filter-class>
+ * <filter-name>RemoteIpFilter</filter-name>
+ * <filter-class>org.apache.catalina.filters.RemoteIpFilter</filter-class>
* <init-param>
* <param-name>internalProxies</param-name><param-value>192\.168\.0\.10, 192\.168\.0\.11</param-value>
* </init-param>
* </filter>
*
* <filter-mapping>
- * <filter-name>XForwardedFilter</filter-name>
+ * <filter-name>RemoteIpFilter</filter-name>
* <url-pattern>/*</url-pattern>
* <dispatcher>REQUEST</dispatcher>
* </filter-mapping></pre></code>
* <table border="1">
* <tr>
* <th>property</th>
- * <th>Value Before XForwardedFilter</th>
- * <th>Value After XForwardedFilter</th>
+ * <th>Value Before RemoteIpFilter</th>
+ * <th>Value After RemoteIpFilter</th>
* </tr>
* <tr>
* <td>request.remoteAddr</td>
* <strong>Sample with internal and trusted proxies</strong>
* </p>
* <p>
- * XForwardedFilter configuration:
+ * RemoteIpFilter configuration:
* </p>
* <code><pre>
* <filter>
- * <filter-name>XForwardedFilter</filter-name>
- * <filter-class>fr.xebia.servlet.filter.XForwardedFilter</filter-class>
+ * <filter-name>RemoteIpFilter</filter-name>
+ * <filter-class>org.apache.catalina.filters.RemoteIpFilter</filter-class>
* <init-param>
* <param-name>internalProxies</param-name><param-value>192\.168\.0\.10, 192\.168\.0\.11</param-value>
* </init-param>
* </filter>
*
* <filter-mapping>
- * <filter-name>XForwardedFilter</filter-name>
+ * <filter-name>RemoteIpFilter</filter-name>
* <url-pattern>/*</url-pattern>
* <dispatcher>REQUEST</dispatcher>
* </filter-mapping></pre></code>
* <table border="1">
* <tr>
* <th>property</th>
- * <th>Value Before XForwardedFilter</th>
- * <th>Value After XForwardedFilter</th>
+ * <th>Value Before RemoteIpFilter</th>
+ * <th>Value After RemoteIpFilter</th>
* </tr>
* <tr>
* <td>request.remoteAddr</td>
* <strong>Sample with an untrusted proxy</strong>
* </p>
* <p>
- * XForwardedFilter configuration:
+ * RemoteIpFilter configuration:
* </p>
* <code><pre>
* <filter>
- * <filter-name>XForwardedFilter</filter-name>
- * <filter-class>fr.xebia.servlet.filter.XForwardedFilter</filter-class>
+ * <filter-name>RemoteIpFilter</filter-name>
+ * <filter-class>org.apache.catalina.filters.RemoteIpFilter</filter-class>
* <init-param>
* <param-name>internalProxies</param-name><param-value>192\.168\.0\.10, 192\.168\.0\.11</param-value>
* </init-param>
* </filter>
*
* <filter-mapping>
- * <filter-name>XForwardedFilter</filter-name>
+ * <filter-name>RemoteIpFilter</filter-name>
* <url-pattern>/*</url-pattern>
* <dispatcher>REQUEST</dispatcher>
* </filter-mapping></pre></code>
* <table border="1">
* <tr>
* <th>property</th>
- * <th>Value Before XForwardedFilter</th>
- * <th>Value After XForwardedFilter</th>
+ * <th>Value Before RemoteIpFilter</th>
+ * <th>Value After RemoteIpFilter</th>
* </tr>
* <tr>
* <td>request.remoteAddr</td>
}
if (date == null) {
throw new IllegalArgumentException(value);
- } else {
- return date.getTime();
}
+ return date.getTime();
}
@Override
Map.Entry<String, List<String>> header = getHeaderEntry(name);
if (header == null || header.getValue() == null || header.getValue().isEmpty()) {
return null;
- } else {
- return header.getValue().get(0);
}
+ return header.getValue().get(0);
}
protected Map.Entry<String, List<String>> getHeaderEntry(String name) {
Map.Entry<String, List<String>> header = getHeaderEntry(name);
if (header == null || header.getValue() == null) {
return Collections.enumeration(Collections.<String>emptyList());
- } else {
- return Collections.enumeration(header.getValue());
}
+ return Collections.enumeration(header.getValue());
}
@Override
String value = getHeader(name);
if (value == null) {
return -1;
- } else {
- return Integer.parseInt(value);
}
+ return Integer.parseInt(value);
}
@Override
protected static final String HTTPS_SERVER_PORT_PARAMETER = "httpsServerPort";
- protected static final String INTERNAL_PROXIES_PARAMETER = "allowedInternalProxies";
+ protected static final String INTERNAL_PROXIES_PARAMETER = "internalProxies";
/**
* Logger
if (log.isDebugEnabled()) {
log.debug("Incoming request " + request.getRequestURI() + " with originalRemoteAddr '" + request.getRemoteAddr()
- + "', originalRemoteHost='" + request.getRemoteHost() + "', originalSecure='" + request.isSecure()
- + "', originalScheme='" + request.getScheme() + "', original[" + remoteIPHeader + "]='"
- + request.getHeader(remoteIPHeader) + ", original[" + protocolHeader + "]='"
- + request.getHeader(protocolHeader) + "' will be seen as newRemoteAddr='" + xRequest.getRemoteAddr()
- + "', newRemoteHost='" + xRequest.getRemoteHost() + "', newScheme='" + xRequest.getScheme() + "', newSecure='"
- + xRequest.isSecure() + "', new[" + remoteIPHeader + "]='" + xRequest.getHeader(remoteIPHeader) + ", new["
- + proxiesHeader + "]='" + xRequest.getHeader(proxiesHeader) + "'");
+ + "', originalRemoteHost='" + request.getRemoteHost() + "', originalSecure='" + request.isSecure()
+ + "', originalScheme='" + request.getScheme() + "', original[" + remoteIPHeader + "]='"
+ + request.getHeader(remoteIPHeader) + ", original[" + protocolHeader + "]='"
+ + (protocolHeader == null ? null : request.getHeader(protocolHeader)) + "' will be seen as newRemoteAddr='"
+ + xRequest.getRemoteAddr() + "', newRemoteHost='" + xRequest.getRemoteHost() + "', newScheme='"
+ + xRequest.getScheme() + "', newSecure='" + xRequest.isSecure() + "', new[" + remoteIPHeader + "]='"
+ + xRequest.getHeader(remoteIPHeader) + ", new[" + proxiesHeader + "]='" + xRequest.getHeader(proxiesHeader) + "'");
}
chain.doFilter(xRequest, response);
} else {