Move ProxySettings to an HTTP-related provider ProxySettings interface is bound to an actual implementation ONLY when used in a WebModule. As we already inject it into the HttpClientProvider for reading the proxy settings, it makes sense to apply the JVM-wide settings as well in the same place. Change-Id: I1acdd1c5b51363af4945f635949cb2e511884ff3
diff --git a/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/GitHubOAuthConfig.java b/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/GitHubOAuthConfig.java index 12f02e4..ca242d6 100644 --- a/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/GitHubOAuthConfig.java +++ b/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/GitHubOAuthConfig.java
@@ -18,7 +18,6 @@ import com.google.common.base.Preconditions; import com.google.common.base.Strings; import com.google.common.collect.Maps; -import com.google.gerrit.httpd.ProxyProperties; import com.google.gerrit.reviewdb.client.AuthType; import com.google.gerrit.server.config.AuthConfig; import com.google.gerrit.server.config.CanonicalWebUrl; @@ -68,8 +67,7 @@ protected GitHubOAuthConfig(@GerritServerConfig Config config, @CanonicalWebUrl String canonicalWebUrl, - AuthConfig authConfig, - ProxyProperties proxyProperties) { + AuthConfig authConfig) { httpHeader = Preconditions.checkNotNull( config.getString("auth", null, "httpHeader"), @@ -107,21 +105,6 @@ config.getInt(CONF_SECTION, "fileUpdateMaxRetryCount", 3); fileUpdateMaxRetryIntervalMsec = config.getInt(CONF_SECTION, "fileUpdateMaxRetryIntervalMsec", 3000); - - URL proxyUrl = proxyProperties.getProxyUrl(); - if (proxyUrl != null) { - setProxyProperty("proxyHost", proxyUrl.getHost()); - setProxyProperty("proxyPort", "" + proxyUrl.getPort()); - setProxyProperty("proxyUser", proxyProperties.getUsername()); - setProxyProperty("proxyPassword", proxyProperties.getPassword()); - } - } - - private static void setProxyProperty(String property, String value) { - if (value != null) { - System.setProperty("http." + property, value); - System.setProperty("https." + property, value); - } } private Map<String, List<Scope>> getScopes(Config config) {
diff --git a/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/PooledHttpClientProvider.java b/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/PooledHttpClientProvider.java index 0263877..4376242 100644 --- a/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/PooledHttpClientProvider.java +++ b/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/PooledHttpClientProvider.java
@@ -41,12 +41,27 @@ PooledHttpClientProvider(@GerritServerConfig Config config, ProxyProperties proxyProperties) { this.proxy = proxyProperties; + URL proxyUrl = proxyProperties.getProxyUrl(); + if (proxyUrl != null) { + setProxyProperty("proxyHost", proxyUrl.getHost()); + setProxyProperty("proxyPort", "" + proxyUrl.getPort()); + setProxyProperty("proxyUser", proxyProperties.getUsername()); + setProxyProperty("proxyPassword", proxyProperties.getPassword()); + } + maxConnectionPerRoute = config.getInt("http", null, "pooledMaxConnectionsPerRoute", 16); maxTotalConnection = config.getInt("http", null, "pooledMaxTotalConnections", 32); } + private static void setProxyProperty(String property, String value) { + if (value != null) { + System.setProperty("http." + property, value); + System.setProperty("https." + property, value); + } + } + @Override public HttpClient get() { HttpClientBuilder builder = HttpClientBuilder
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/GitHubConfig.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/GitHubConfig.java index 51e63a7..249a61e 100644 --- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/GitHubConfig.java +++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/GitHubConfig.java
@@ -15,7 +15,6 @@ import com.google.common.base.MoreObjects; import com.google.common.collect.Maps; -import com.google.gerrit.httpd.ProxyProperties; import com.google.gerrit.server.config.AllProjectsNameProvider; import com.google.gerrit.server.config.AuthConfig; import com.google.gerrit.server.config.CanonicalWebUrl; @@ -79,10 +78,9 @@ final SitePaths site, AllProjectsNameProvider allProjectsNameProvider, @CanonicalWebUrl String canonicalWebUrl, - AuthConfig authConfig, - ProxyProperties proxyProperties) + AuthConfig authConfig) throws MalformedURLException { - super(config, canonicalWebUrl, authConfig, proxyProperties); + super(config, canonicalWebUrl, authConfig); String[] wizardFlows = config.getStringList(CONF_SECTION, null, CONF_WIZARD_FLOW); for (String fromTo : wizardFlows) {