You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficcontrol.apache.org by ne...@apache.org on 2017/03/14 15:40:37 UTC

[02/13] incubator-trafficcontrol git commit: [TC-179] Fix for an NPE on caused by a null delivery service when sending traffic to a bypass destination, and slight formatting change in HTTPRouteResult.

[TC-179] Fix for an NPE on caused by a null delivery service when sending traffic to a bypass destination, and slight formatting change in HTTPRouteResult.


Project: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/commit/bd5b48e6
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/tree/bd5b48e6
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/diff/bd5b48e6

Branch: refs/heads/master
Commit: bd5b48e661692c5b0b6a9dfb26abaed4a2655eb4
Parents: 4190b7d
Author: Jeff Elsloo <je...@cable.comcast.com>
Authored: Thu Mar 9 11:21:13 2017 -0700
Committer: Dave Neuman <ne...@apache.org>
Committed: Tue Mar 14 09:39:14 2017 -0600

----------------------------------------------------------------------
 .../traffic_router/core/http/RouterFilter.java      | 16 ++++++++++------
 .../traffic_router/core/router/HTTPRouteResult.java |  4 ++--
 2 files changed, 12 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/bd5b48e6/traffic_router/core/src/main/java/com/comcast/cdn/traffic_control/traffic_router/core/http/RouterFilter.java
----------------------------------------------------------------------
diff --git a/traffic_router/core/src/main/java/com/comcast/cdn/traffic_control/traffic_router/core/http/RouterFilter.java b/traffic_router/core/src/main/java/com/comcast/cdn/traffic_control/traffic_router/core/http/RouterFilter.java
index fc1b742..58c49bc 100644
--- a/traffic_router/core/src/main/java/com/comcast/cdn/traffic_control/traffic_router/core/http/RouterFilter.java
+++ b/traffic_router/core/src/main/java/com/comcast/cdn/traffic_control/traffic_router/core/http/RouterFilter.java
@@ -152,27 +152,31 @@ public class RouterFilter extends OncePerRequestFilter {
 	private void setSingleResponse(final HTTPRouteResult routeResult, final HttpServletRequest httpServletRequest, final HttpServletResponse response, final HTTPAccessRecord.Builder httpAccessRecordBuilder) throws IOException, JSONException {
 		final String redirect = httpServletRequest.getParameter(REDIRECT_QUERY_PARAM);
 		final String format = httpServletRequest.getParameter("format");
-		final DeliveryService deliveryService = routeResult.getDeliveryService();
 		final URL location = routeResult.getUrl();
-		final Map<String, String> responseHeaders = deliveryService.getResponseHeaders();
 
-		for (final String key : responseHeaders.keySet()) {
-			response.addHeader(key, responseHeaders.get(key));
-		}
+		if (routeResult.getDeliveryService() != null) {
+			final DeliveryService deliveryService = routeResult.getDeliveryService();
+			final Map<String, String> responseHeaders = deliveryService.getResponseHeaders();
 
-		httpAccessRecordBuilder.responseURL(location);
+			for (final String key : responseHeaders.keySet()) {
+				response.addHeader(key, responseHeaders.get(key));
+			}
+		}
 
 		if ("false".equalsIgnoreCase(redirect)) {
 			response.setContentType("application/json");
 			response.getWriter().println(routeResult.toMultiLocationJSONString());
 			httpAccessRecordBuilder.responseCode(HttpServletResponse.SC_OK);
+			httpAccessRecordBuilder.responseURLs(routeResult.getUrls());
 		} else if ("json".equals(format)) {
 			response.setContentType("application/json");
 			response.getWriter().println(routeResult.toLocationJSONString());
 			httpAccessRecordBuilder.responseCode(HttpServletResponse.SC_OK);
+			httpAccessRecordBuilder.responseURL(location);
 		} else {
 			httpAccessRecordBuilder.responseCode(HttpServletResponse.SC_MOVED_TEMPORARILY);
 			response.sendRedirect(location.toString());
+			httpAccessRecordBuilder.responseURL(location);
 		}
 	}
 

http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/bd5b48e6/traffic_router/core/src/main/java/com/comcast/cdn/traffic_control/traffic_router/core/router/HTTPRouteResult.java
----------------------------------------------------------------------
diff --git a/traffic_router/core/src/main/java/com/comcast/cdn/traffic_control/traffic_router/core/router/HTTPRouteResult.java b/traffic_router/core/src/main/java/com/comcast/cdn/traffic_control/traffic_router/core/router/HTTPRouteResult.java
index 1b3d756..4ad828e 100644
--- a/traffic_router/core/src/main/java/com/comcast/cdn/traffic_control/traffic_router/core/router/HTTPRouteResult.java
+++ b/traffic_router/core/src/main/java/com/comcast/cdn/traffic_control/traffic_router/core/router/HTTPRouteResult.java
@@ -48,7 +48,7 @@ public class HTTPRouteResult implements RouteResult {
 	}
 
 	public URL getUrl() {
-		return (!urls.isEmpty()) ? urls.get(0) : null;
+		return !urls.isEmpty() ? urls.get(0) : null;
 	}
 
 	public void setUrl(final URL url) {
@@ -65,7 +65,7 @@ public class HTTPRouteResult implements RouteResult {
 	}
 
 	public DeliveryService getDeliveryService() {
-		return (!deliveryServices.isEmpty()) ? deliveryServices.get(0) : null;
+		return !deliveryServices.isEmpty() ? deliveryServices.get(0) : null;
 	}
 
 	public void setDeliveryService(final DeliveryService deliveryService) {