Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
# Changelog

## [Unreleased]
### Added
- `rp.oauth.use.proxy` parameter to control if OAuth HTTP client Inherits proxy settings from general client, by @HardNorth

## [5.4.5]
### Added
Expand Down
71 changes: 36 additions & 35 deletions README_TEMPLATE.md

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ public class ListenerParameters implements Cloneable {
private static final boolean DEFAULT_HTTP_LOGGING = false;
private static final int DEFAULT_RX_BUFFER_SIZE = 128;
private static final String DEFAULT_KEYSTORE_TYPE = "JKS";
private static final boolean DEFAULT_OAUTH_USE_PROXY = true;

private static final boolean DEFAULT_CLIENT_JOIN = true;
private static final String DEFAULT_CLIENT_JOIN_MODE = "FILE";
Expand Down Expand Up @@ -89,6 +90,7 @@ public class ListenerParameters implements Cloneable {
private String oauthClientId;
private String oauthClientSecret;
private String oauthScope;
private boolean oauthUseProxy;
private String baseUrl;
private String proxyUrl;
private String proxyUser;
Expand Down Expand Up @@ -247,6 +249,7 @@ public ListenerParameters(PropertiesLoader properties) {
this.oauthClientId = ofNullable(properties.getProperty(OAUTH_CLIENT_ID)).map(String::trim).orElse(null);
this.oauthClientSecret = ofNullable(properties.getProperty(OAUTH_CLIENT_SECRET)).map(String::trim).orElse(null);
this.oauthScope = ofNullable(properties.getProperty(OAUTH_SCOPE)).map(String::trim).orElse(null);
this.oauthUseProxy = properties.getPropertyAsBoolean(OAUTH_USE_PROXY, DEFAULT_OAUTH_USE_PROXY);
this.baseUrl = ofNullable(properties.getProperty(BASE_URL)).map(String::trim).orElse(null);
this.proxyUrl = properties.getProperty(HTTP_PROXY_URL);
this.proxyUser = properties.getProperty(HTTP_PROXY_USER);
Expand Down Expand Up @@ -395,6 +398,14 @@ public String getOauthScope() {
return oauthScope;
}

public boolean isOauthUseProxy() {
return oauthUseProxy;
}

public void setOauthUseProxy(boolean oauthUseProxy) {
this.oauthUseProxy = oauthUseProxy;
}

public void setOauthScope(@Nullable String oauthScope) {
this.oauthScope = oauthScope;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,10 @@ public OAuth2PasswordGrantAuthInterceptor(@Nonnull ListenerParameters parameters
URL tokenUrl = parseTokenUri(parameters);

OkHttpClient.Builder clientBuilder = ClientUtils.setupSsl(new OkHttpClient.Builder(), tokenUrl, parameters);
ClientUtils.setupProxy(clientBuilder, parameters);

if (parameters.isOauthUseProxy()) {
ClientUtils.setupProxy(clientBuilder, parameters);
}

ofNullable(parameters.getHttpConnectTimeout()).ifPresent(d -> clientBuilder.connectTimeout(d.toMillis(), TimeUnit.MILLISECONDS));
ofNullable(parameters.getHttpReadTimeout()).ifPresent(d -> clientBuilder.readTimeout(d.toMillis(), TimeUnit.MILLISECONDS));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ public enum ListenerProperty {
LAUNCH_UUID_PRINT_OUTPUT("rp.launch.uuid.print.output", false),
UUID("rp.uuid", false),
API_KEY("rp.api.key", false),

/**
* OAuth 2.0 authentication properties
*/
Expand All @@ -85,6 +85,7 @@ public enum ListenerProperty {
OAUTH_CLIENT_ID("rp.oauth.client.id", false),
OAUTH_CLIENT_SECRET("rp.oauth.client.secret", false),
OAUTH_SCOPE("rp.oauth.scope", false),
OAUTH_USE_PROXY("rp.oauth.use.proxy", false),

BATCH_SIZE_LOGS("rp.batch.size.logs", false),
BATCH_PAYLOAD_LIMIT("rp.batch.payload.limit", false),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -230,6 +230,7 @@ public void test_oauth_with_all_parameters() {
assertEquals("test-client-id", listenerParameters.getOauthClientId());
assertEquals("test-client-secret", listenerParameters.getOauthClientSecret());
assertEquals("oauth-scope", listenerParameters.getOauthScope());
assertFalse(listenerParameters.isOauthUseProxy());
}

@Test
Expand All @@ -243,5 +244,6 @@ public void test_oauth_without_secret() {
assertEquals("test-client-id", listenerParameters.getOauthClientId());
assertNull(listenerParameters.getOauthClientSecret());
assertNull(listenerParameters.getOauthScope());
assertTrue(listenerParameters.isOauthUseProxy());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,6 @@ rp.oauth.password=test-password
rp.oauth.client.id=test-client-id
rp.oauth.client.secret=test-client-secret
rp.oauth.scope=oauth-scope
rp.oauth.use.proxy=false
rp.project=test-project
rp.launch=test-launch