From 2381f074eb023411a598b23d707427116b08c64e Mon Sep 17 00:00:00 2001 From: harishhk107 Date: Tue, 28 Apr 2026 11:27:34 +0000 Subject: [PATCH 1/2] Added a fix for OAuth2 Proxy Routing --- .../plugin/http/common/http/OAuthUtil.java | 28 +++++++++++++++---- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/src/main/java/io/cdap/plugin/http/common/http/OAuthUtil.java b/src/main/java/io/cdap/plugin/http/common/http/OAuthUtil.java index 7f06aa8..a388c6d 100644 --- a/src/main/java/io/cdap/plugin/http/common/http/OAuthUtil.java +++ b/src/main/java/io/cdap/plugin/http/common/http/OAuthUtil.java @@ -24,11 +24,17 @@ import io.cdap.plugin.http.common.OAuth2GrantType; import io.cdap.plugin.http.common.pagination.page.JSONUtil; import io.cdap.plugin.http.source.common.BaseHttpSourceConfig; +import org.apache.http.HttpHost; +import org.apache.http.auth.AuthScope; +import org.apache.http.auth.UsernamePasswordCredentials; +import org.apache.http.client.CredentialsProvider; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpPost; import org.apache.http.client.utils.URIBuilder; +import org.apache.http.impl.client.BasicCredentialsProvider; import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClientBuilder; import org.apache.http.impl.client.HttpClients; import org.apache.http.message.BasicHeader; import org.apache.http.message.BasicNameValuePair; @@ -83,14 +89,26 @@ public static AccessToken getAccessToken(BaseHttpConfig config) throws IOExcepti // get accessToken from service account return OAuthUtil.getAccessTokenByServiceAccount(config); case OAUTH2: + HttpClientBuilder httpClientBuilder = HttpClients.custom(); + if (config instanceof BaseHttpSourceConfig) { - try (CloseableHttpClient client = HttpClients.custom() - .setSSLSocketFactory(new SSLConnectionSocketFactoryCreator((BaseHttpSourceConfig) config).create()) - .build()) { - return getAccessToken(client, config); + httpClientBuilder.setSSLSocketFactory( + new SSLConnectionSocketFactoryCreator((BaseHttpSourceConfig) config).create() + ); + } + // Apply Proxy settings if they exist + if (!Strings.isNullOrEmpty(config.getProxyUrl())) { + HttpHost proxyHost = HttpHost.create(config.getProxyUrl()); + + if (!Strings.isNullOrEmpty(config.getProxyUsername()) && !Strings.isNullOrEmpty(config.getProxyPassword())) { + CredentialsProvider credsProvider = new BasicCredentialsProvider(); + credsProvider.setCredentials(new AuthScope(proxyHost), + new UsernamePasswordCredentials(config.getProxyUsername(), config.getProxyPassword())); + httpClientBuilder.setDefaultCredentialsProvider(credsProvider); } + httpClientBuilder.setProxy(proxyHost); } - try (CloseableHttpClient client = HttpClients.createDefault()) { + try (CloseableHttpClient client = httpClientBuilder.build()) { return getAccessToken(client, config); } } From 4786c7a077265a4812096c69c0a2e816810fb1ca Mon Sep 17 00:00:00 2001 From: harishhk107 Date: Tue, 28 Apr 2026 11:50:08 +0000 Subject: [PATCH 2/2] Bump HTTP Plugins version and update pom.xml --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 76816a9..f20320e 100644 --- a/pom.xml +++ b/pom.xml @@ -21,7 +21,7 @@ HTTP Plugins io.cdap http-plugins - 1.5.1 + 1.5.2-SNAPSHOT