From d86f4a0860704e3bda77fa9622a8d0210265b616 Mon Sep 17 00:00:00 2001 From: Dariusz Bywalec Date: Tue, 2 Dec 2014 17:11:50 +0100 Subject: [PATCH] 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. --- src/main/distrib/data/defaults.properties | 10 ++++++++++ src/main/java/com/gitblit/manager/PluginManager.java | 10 +++++++++- 2 files changed, 19 insertions(+), 1 deletion(-) 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) { -- 2.39.5