From 9a23de9ed3209132c06c3ef5e7f00dd4c90ac38a Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Fri, 29 Mar 2013 16:06:14 -0400
Subject: [PATCH] Trap connection resets and broken pipes in zip download servlet

---
 src/main/java/com/gitblit/DownloadZipServlet.java |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/gitblit/DownloadZipServlet.java b/src/main/java/com/gitblit/DownloadZipServlet.java
index 0feee87..8a4a710 100644
--- a/src/main/java/com/gitblit/DownloadZipServlet.java
+++ b/src/main/java/com/gitblit/DownloadZipServlet.java
@@ -16,6 +16,7 @@
 package com.gitblit;
 
 import java.io.IOException;
+import java.net.SocketException;
 import java.text.MessageFormat;
 import java.text.ParseException;
 import java.util.Date;
@@ -176,6 +177,13 @@
 				}
 				
 				response.flushBuffer();
+			} catch (SocketException t) {
+				String message = t.getMessage() == null ? "" : t.getMessage().toLowerCase();
+				if (message.contains("reset") || message.contains("broken pipe")) {
+					logger.error("Client aborted zip download: " + message);
+				} else {
+					logger.error("Failed to write attachment to client", t);	
+				}
 			} catch (Throwable t) {
 				logger.error("Failed to write attachment to client", t);
 			}

--
Gitblit v1.9.1