From: Julien HENRY Date: Wed, 14 Sep 2016 21:08:59 +0000 (+0200) Subject: SONAR-8084 Support HTTP proxy authentication X-Git-Tag: 6.1-RC1~72 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=2c5fa5f1fb878e9de5ec4457a59cb740134c0a34;p=sonarqube.git SONAR-8084 Support HTTP proxy authentication Tested by an IT in SQ Scanner API --- diff --git a/sonar-scanner-engine/src/main/java/org/sonar/scanner/bootstrap/BatchWsClientProvider.java b/sonar-scanner-engine/src/main/java/org/sonar/scanner/bootstrap/BatchWsClientProvider.java index 96bcb33ff78..c40c1ddb761 100644 --- a/sonar-scanner-engine/src/main/java/org/sonar/scanner/bootstrap/BatchWsClientProvider.java +++ b/sonar-scanner-engine/src/main/java/org/sonar/scanner/bootstrap/BatchWsClientProvider.java @@ -44,8 +44,6 @@ public class BatchWsClientProvider extends ProviderAdapter { String url = defaultIfBlank(settings.property("sonar.host.url"), CoreProperties.SERVER_BASE_URL_DEFAULT_VALUE); HttpConnector.Builder connectorBuilder = HttpConnector.newBuilder(); - // TODO proxy - String timeoutSec = defaultIfBlank(settings.property(READ_TIMEOUT_SEC_PROPERTY), valueOf(DEFAULT_READ_TIMEOUT_SEC)); String login = defaultIfBlank(settings.property(CoreProperties.LOGIN), null); connectorBuilder @@ -55,6 +53,12 @@ public class BatchWsClientProvider extends ProviderAdapter { .url(url) .credentials(login, settings.property(CoreProperties.PASSWORD)); + // OkHttp detect 'http.proxyHost' java property, but credentials should be filled + final String proxyUser = System.getProperty("http.proxyUser", ""); + if (!System.getProperty("http.proxyHost", "").isEmpty() && !proxyUser.isEmpty()) { + connectorBuilder.proxyCredentials(proxyUser, System.getProperty("http.proxyPassword")); + } + wsClient = new BatchWsClient(WsClientFactories.getDefault().newClient(connectorBuilder.build()), login != null); } return wsClient;