Merge pull request #1243 from sebastianopilla/master

Fixes the 30 seconds timeout when cloning over HTTP
diff --git a/src/main/distrib/data/defaults.properties b/src/main/distrib/data/defaults.properties
index 51fa125..9c59790 100644
--- a/src/main/distrib/data/defaults.properties
+++ b/src/main/distrib/data/defaults.properties
@@ -2134,6 +2134,13 @@
 # RESTART REQUIRED
 server.shutdownPort = 8081
 
+# Http idle Timeout (in milliseconds) for http and https requests
+# Increase this value if you get java.util.concurrent.TimeoutException errors
+#
+# SINCE 1.9.0
+# RESTART REQUIRED
+server.httpIdleTimeout = 30000
+
 #
 # Gitblit Filestore Settings
 #
diff --git a/src/main/java/com/gitblit/GitBlitServer.java b/src/main/java/com/gitblit/GitBlitServer.java
index 6123a87..acdc2c2 100644
--- a/src/main/java/com/gitblit/GitBlitServer.java
+++ b/src/main/java/com/gitblit/GitBlitServer.java
@@ -293,7 +293,7 @@
 
 				ServerConnector connector = new ServerConnector(server, factory);
 				connector.setSoLingerTime(-1);
-				connector.setIdleTimeout(30000);
+				connector.setIdleTimeout(settings.getLong(Keys.server.httpIdleTimeout, 30000L));
 				connector.setPort(params.securePort);
 				String bindInterface = settings.getString(Keys.server.httpsBindInterface, null);
 				if (!StringUtils.isEmpty(bindInterface)) {
@@ -330,7 +330,7 @@
 
 			ServerConnector connector = new ServerConnector(server, new HttpConnectionFactory(httpConfig));
 			connector.setSoLingerTime(-1);
-			connector.setIdleTimeout(30000);
+			connector.setIdleTimeout(settings.getLong(Keys.server.httpIdleTimeout, 30000L));
 			connector.setPort(params.port);
 			String bindInterface = settings.getString(Keys.server.httpBindInterface, null);
 			if (!StringUtils.isEmpty(bindInterface)) {
@@ -608,4 +608,4 @@
 		public String ldapLdifFile;
 
 	}
-}
\ No newline at end of file
+}