summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDariusz Bywalec <dariusz.bywalec@trapezegroup.pl>2014-12-02 17:11:50 +0100
committerDariusz Bywalec <dariusz.bywalec@trapezegroup.pl>2014-12-02 17:30:14 +0100
commitd86f4a0860704e3bda77fa9622a8d0210265b616 (patch)
tree4e8e4cb912d6d6024e94dc1bb9efd90c44e7b6c2 /src
parent9f92fb94aa403928a2efe5e673e118b3b02ba291 (diff)
downloadgitblit-d86f4a0860704e3bda77fa9622a8d0210265b616.tar.gz
gitblit-d86f4a0860704e3bda77fa9622a8d0210265b616.zip
Add support for configurable HTTP proxy host/port in PluginManager.java
Formerly by default the PluginMaganer would support no proxy setting. For servers behind firewall and HTTP proxy this would prevent installation of gitblit plugins.
Diffstat (limited to 'src')
-rw-r--r--src/main/distrib/data/defaults.properties10
-rw-r--r--src/main/java/com/gitblit/manager/PluginManager.java10
2 files changed, 19 insertions, 1 deletions
diff --git a/src/main/distrib/data/defaults.properties b/src/main/distrib/data/defaults.properties
index aa69331a..093dd857 100644
--- a/src/main/distrib/data/defaults.properties
+++ b/src/main/distrib/data/defaults.properties
@@ -572,6 +572,16 @@ plugins.folder = ${baseFolder}/plugins
# 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 3e7bc1ff..a43cbdc8 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.FileInputStream;
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 @@ public class PluginManager implements IPluginManager, PluginStateListener {
}
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) {