Skip to content

Commit df7bd5a

Browse files
Merge pull request #207 from cloudsufi/cherry-pick/af8423dcf63f343ba9a1a9d70b050a32c65a396b
[🍒]Bump HTTP Plugins version to 1.5.2-SNAPSHOT & Auth fix
2 parents 71442f6 + 4786c7a commit df7bd5a

2 files changed

Lines changed: 24 additions & 6 deletions

File tree

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
<name>HTTP Plugins</name>
2222
<groupId>io.cdap</groupId>
2323
<artifactId>http-plugins</artifactId>
24-
<version>1.5.1</version>
24+
<version>1.5.2-SNAPSHOT</version>
2525

2626
<licenses>
2727
<license>

src/main/java/io/cdap/plugin/http/common/http/OAuthUtil.java

Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,17 @@
2424
import io.cdap.plugin.http.common.OAuth2GrantType;
2525
import io.cdap.plugin.http.common.pagination.page.JSONUtil;
2626
import io.cdap.plugin.http.source.common.BaseHttpSourceConfig;
27+
import org.apache.http.HttpHost;
28+
import org.apache.http.auth.AuthScope;
29+
import org.apache.http.auth.UsernamePasswordCredentials;
30+
import org.apache.http.client.CredentialsProvider;
2731
import org.apache.http.client.entity.UrlEncodedFormEntity;
2832
import org.apache.http.client.methods.CloseableHttpResponse;
2933
import org.apache.http.client.methods.HttpPost;
3034
import org.apache.http.client.utils.URIBuilder;
35+
import org.apache.http.impl.client.BasicCredentialsProvider;
3136
import org.apache.http.impl.client.CloseableHttpClient;
37+
import org.apache.http.impl.client.HttpClientBuilder;
3238
import org.apache.http.impl.client.HttpClients;
3339
import org.apache.http.message.BasicHeader;
3440
import org.apache.http.message.BasicNameValuePair;
@@ -83,14 +89,26 @@ public static AccessToken getAccessToken(BaseHttpConfig config) throws IOExcepti
8389
// get accessToken from service account
8490
return OAuthUtil.getAccessTokenByServiceAccount(config);
8591
case OAUTH2:
92+
HttpClientBuilder httpClientBuilder = HttpClients.custom();
93+
8694
if (config instanceof BaseHttpSourceConfig) {
87-
try (CloseableHttpClient client = HttpClients.custom()
88-
.setSSLSocketFactory(new SSLConnectionSocketFactoryCreator((BaseHttpSourceConfig) config).create())
89-
.build()) {
90-
return getAccessToken(client, config);
95+
httpClientBuilder.setSSLSocketFactory(
96+
new SSLConnectionSocketFactoryCreator((BaseHttpSourceConfig) config).create()
97+
);
98+
}
99+
// Apply Proxy settings if they exist
100+
if (!Strings.isNullOrEmpty(config.getProxyUrl())) {
101+
HttpHost proxyHost = HttpHost.create(config.getProxyUrl());
102+
103+
if (!Strings.isNullOrEmpty(config.getProxyUsername()) && !Strings.isNullOrEmpty(config.getProxyPassword())) {
104+
CredentialsProvider credsProvider = new BasicCredentialsProvider();
105+
credsProvider.setCredentials(new AuthScope(proxyHost),
106+
new UsernamePasswordCredentials(config.getProxyUsername(), config.getProxyPassword()));
107+
httpClientBuilder.setDefaultCredentialsProvider(credsProvider);
91108
}
109+
httpClientBuilder.setProxy(proxyHost);
92110
}
93-
try (CloseableHttpClient client = HttpClients.createDefault()) {
111+
try (CloseableHttpClient client = httpClientBuilder.build()) {
94112
return getAccessToken(client, config);
95113
}
96114
}

0 commit comments

Comments
 (0)