You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficcontrol.apache.org by el...@apache.org on 2018/05/14 17:22:33 UTC

[incubator-trafficcontrol] 03/06: Updated with redirectURL

This is an automated email from the ASF dual-hosted git repository.

elsloo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-trafficcontrol.git

commit 7784e03386aee7ca04ce85a333fcc751f0255305
Author: PeterRyder <pe...@gmail.com>
AuthorDate: Mon Dec 4 13:28:43 2017 -0500

    Updated with redirectURL
---
 .../traffic_router/core/loc/AnonymousIp.java               | 14 ++++++++++++--
 traffic_router/core/src/test/resources/anonymous_ip.json   |  4 +++-
 .../core/src/test/resources/anonymous_ip_no_whitelist.json |  1 +
 3 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/traffic_router/core/src/main/java/com/comcast/cdn/traffic_control/traffic_router/core/loc/AnonymousIp.java b/traffic_router/core/src/main/java/com/comcast/cdn/traffic_control/traffic_router/core/loc/AnonymousIp.java
index bc1452e..6de381f 100644
--- a/traffic_router/core/src/main/java/com/comcast/cdn/traffic_control/traffic_router/core/loc/AnonymousIp.java
+++ b/traffic_router/core/src/main/java/com/comcast/cdn/traffic_control/traffic_router/core/loc/AnonymousIp.java
@@ -18,6 +18,7 @@ import java.io.File;
 import java.io.FileReader;
 import java.net.InetAddress;
 import java.net.MalformedURLException;
+import java.net.URL;
 
 import org.apache.log4j.Logger;
 import org.apache.wicket.ajax.json.JSONException;
@@ -55,6 +56,8 @@ public final class AnonymousIp {
 	private AnonymousIpWhitelist ipv4Whitelist;
 	private AnonymousIpWhitelist ipv6Whitelist;
 
+	private String redirectUrl;
+
 	public final static int BLOCK_CODE = 403;
 	public final static String WHITE_LIST_LOC = "w";
 
@@ -126,6 +129,10 @@ public final class AnonymousIp {
 			parseIPv4Whitelist(config, anonymousIp);
 			parseIPv6Whitelist(config, anonymousIp);
 
+			if (config.has("redirectUrl")) {
+				anonymousIp.redirectUrl = config.getString("redirectUrl");
+			}
+
 			return anonymousIp;
 		} catch (Exception e) {
 			LOGGER.error("AnonymousIp ERR: parsing config file failed", e);
@@ -219,8 +226,8 @@ public final class AnonymousIp {
 	 * in the anonymous ip database The ip will be blocked if it matches a
 	 * policy defined in the config file
 	 */
-	public static void enforce(final TrafficRouter trafficRouter, final Request request, final DeliveryService deliveryService, final Cache cache,
-			final HTTPRouteResult routeResult, final Track track) throws MalformedURLException {
+	public static void enforce(final TrafficRouter trafficRouter, final Request request, final DeliveryService deliveryService, final Cache cache, 
+		final HTTPRouteResult routeResult, final Track track) throws MalformedURLException {
 
 		final HTTPRequest httpRequest = HTTPRequest.class.cast(request);
 
@@ -236,6 +243,9 @@ public final class AnonymousIp {
 		if (block) {
 			routeResult.setResponseCode(AnonymousIp.BLOCK_CODE);
 			track.setResult(ResultType.ANON_BLOCK);
+			if (AnonymousIp.getCurrentConfig().redirectUrl != null) {
+				routeResult.setUrl(new URL(AnonymousIp.getCurrentConfig().redirectUrl));
+			}
 		}
 	}
 }
diff --git a/traffic_router/core/src/test/resources/anonymous_ip.json b/traffic_router/core/src/test/resources/anonymous_ip.json
index e64d0a5..05f686a 100644
--- a/traffic_router/core/src/test/resources/anonymous_ip.json
+++ b/traffic_router/core/src/test/resources/anonymous_ip.json
@@ -12,5 +12,7 @@
                     
    "ip4Whitelist": ["192.168.30.0/24", "10.0.2.0/24", "5.34.32.0/24"],
    
-   "ip6Whitelist": ["2001:550:90a::/48", "::1/128"]
+   "ip6Whitelist": ["2001:550:90a::/48", "::1/128"],
+   
+   "redirectUrl": "http://youvebeenblocked.com"
 }
\ No newline at end of file
diff --git a/traffic_router/core/src/test/resources/anonymous_ip_no_whitelist.json b/traffic_router/core/src/test/resources/anonymous_ip_no_whitelist.json
index 2f0f18e..1e0ba93 100644
--- a/traffic_router/core/src/test/resources/anonymous_ip_no_whitelist.json
+++ b/traffic_router/core/src/test/resources/anonymous_ip_no_whitelist.json
@@ -9,4 +9,5 @@
                     "blockHostingProvider": true, 
                     "blockPublicProxy": true,
                     "blockTorExitNode": false},
+   "redirectUrl": "http://youvebeenblocked.com"
 }
\ No newline at end of file

-- 
To stop receiving notification emails like this one, please contact
elsloo@apache.org.