From d86f4a0860704e3bda77fa9622a8d0210265b616 Mon Sep 17 00:00:00 2001
From: Dariusz Bywalec <dariusz.bywalec@trapezegroup.pl>
Date: Tue, 02 Dec 2014 11:30:14 -0500
Subject: [PATCH] Add support for configurable HTTP proxy host/port in PluginManager.java
---
src/main/java/com/gitblit/manager/PluginManager.java | 10 +++++++++-
src/main/distrib/data/defaults.properties | 10 ++++++++++
2 files changed, 19 insertions(+), 1 deletions(-)
diff --git a/src/main/distrib/data/defaults.properties b/src/main/distrib/data/defaults.properties
index aa69331..093dd85 100644
--- a/src/main/distrib/data/defaults.properties
+++ b/src/main/distrib/data/defaults.properties
@@ -572,6 +572,16 @@
# SINCE 1.5.0
plugins.registry = http://plugins.gitblit.com/plugins.json
+# The HTTP proxy host for plugin manager.
+#
+# SINCE 1.7.0
+plugins.httpProxyHost =
+
+# The HTTP proxy port for plugin manager.
+#
+# SINCE 1.7.0
+plugins.httpProxyPort =
+
# Number of threads used to handle miscellaneous tasks in the background.
#
# SINCE 1.6.0
diff --git a/src/main/java/com/gitblit/manager/PluginManager.java b/src/main/java/com/gitblit/manager/PluginManager.java
index 3e7bc1f..a43cbdc 100644
--- a/src/main/java/com/gitblit/manager/PluginManager.java
+++ b/src/main/java/com/gitblit/manager/PluginManager.java
@@ -22,6 +22,7 @@
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
+import java.net.InetSocketAddress;
import java.net.Proxy;
import java.net.URL;
import java.net.URLConnection;
@@ -586,7 +587,14 @@
}
protected Proxy getProxy(URL url) {
- return java.net.Proxy.NO_PROXY;
+ String proxyHost = runtimeManager.getSettings().getString(Keys.plugins.httpProxyHost, "");
+ String proxyPort = runtimeManager.getSettings().getString(Keys.plugins.httpProxyPort, "");
+
+ if (!StringUtils.isEmpty(proxyHost) && !StringUtils.isEmpty(proxyPort)) {
+ return new Proxy(Proxy.Type.HTTP, new InetSocketAddress(proxyHost, Integer.parseInt(proxyPort)));
+ } else {
+ return java.net.Proxy.NO_PROXY;
+ }
}
protected String getProxyAuthorization(URL url) {
--
Gitblit v1.9.1