Skip to content

Commit d10a516

Browse files
Thomasludomikula
Thomas
authored andcommitted
introduce timeout to WebClientBuilderHelper
1 parent 8f6bfe5 commit d10a516

File tree

6 files changed

+28
-2
lines changed

6 files changed

+28
-2
lines changed

server/api-service/lowcoder-sdk/src/main/java/org/lowcoder/sdk/plugin/common/constant/Constants.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,5 @@ public final class Constants {
1414
public static final String UPDATE_CHANGE_SET_FORM_KEY = "updateChangeSet";
1515
public static final String CHANGE_SET_TYPE_KEY_VALUE_PAIRS = "KEY_VALUE_PAIRS";
1616
public static final String CHANGE_SET_TYPE_OBJECT = "OBJECT";
17+
public static final int HTTP_TIMEOUT = 10000; //10s
1718
}

server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/authentication/request/oauth2/request/GenericAuthRequest.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
import static org.lowcoder.api.authentication.util.AuthenticationUtils.mapToAuthToken;
1818
import static org.lowcoder.api.authentication.util.AuthenticationUtils.mapToAuthUser;
19+
import static org.lowcoder.sdk.plugin.common.constant.Constants.HTTP_TIMEOUT;
1920

2021
/**
2122
* This class is for Generic Auth Request
@@ -30,6 +31,7 @@ public GenericAuthRequest(Oauth2GenericAuthConfig context) {
3031
protected Mono<AuthToken> getAuthToken(OAuth2RequestContext context) {
3132
return WebClientBuildHelper.builder()
3233
.systemProxy()
34+
.timeoutMs(HTTP_TIMEOUT)
3335
.build()
3436
.post()
3537
.uri(config.getTokenEndpoint())
@@ -53,6 +55,7 @@ protected Mono<AuthToken> getAuthToken(OAuth2RequestContext context) {
5355
protected Mono<AuthToken> refreshAuthToken(String refreshToken) {
5456
return WebClientBuildHelper.builder()
5557
.systemProxy()
58+
.timeoutMs(HTTP_TIMEOUT)
5659
.build()
5760
.post()
5861
.uri(config.getTokenEndpoint())
@@ -74,6 +77,7 @@ protected Mono<AuthToken> refreshAuthToken(String refreshToken) {
7477
protected Mono<AuthUser> getAuthUser(AuthToken authToken) {
7578
return WebClientBuildHelper.builder()
7679
.systemProxy()
80+
.timeoutMs(HTTP_TIMEOUT)
7781
.build()
7882
.get()
7983
.uri(config.getUserInfoEndpoint())

server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/authentication/request/oauth2/request/GithubRequest.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import static java.net.URLDecoder.decode;
44
import static java.nio.charset.StandardCharsets.UTF_8;
5+
import static org.lowcoder.sdk.plugin.common.constant.Constants.HTTP_TIMEOUT;
56

67
import java.net.URI;
78
import java.net.URISyntaxException;
@@ -18,6 +19,7 @@
1819
import org.lowcoder.domain.user.model.AuthUser;
1920
import org.lowcoder.sdk.auth.Oauth2SimpleAuthConfig;
2021
import org.lowcoder.sdk.util.JsonUtils;
22+
import org.lowcoder.sdk.webclient.WebClientBuildHelper;
2123
import org.lowcoder.sdk.webclient.WebClients;
2224
import org.springframework.core.ParameterizedTypeReference;
2325

@@ -43,7 +45,10 @@ protected Mono<AuthToken> getAuthToken(OAuth2RequestContext context) {
4345
} catch (URISyntaxException e) {
4446
throw new RuntimeException(e);
4547
}
46-
return WebClients.getInstance()
48+
return WebClientBuildHelper.builder()
49+
.systemProxy()
50+
.timeoutMs(HTTP_TIMEOUT)
51+
.build()
4752
.post()
4853
.uri(uri)
4954
.exchangeToMono(response -> response.bodyToMono(String.class))
@@ -81,7 +86,10 @@ private Map<String, String> parseStringToMap(String s) {
8186

8287
@Override
8388
protected Mono<AuthUser> getAuthUser(AuthToken authToken) {
84-
return WebClients.getInstance()
89+
return WebClientBuildHelper.builder()
90+
.systemProxy()
91+
.timeoutMs(HTTP_TIMEOUT)
92+
.build()
8593
.get()
8694
.uri(source.userInfo())
8795
.header("Authorization", "token " + authToken.getAccessToken())

server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/authentication/request/oauth2/request/GoogleRequest.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818

1919
import reactor.core.publisher.Mono;
2020

21+
import static org.lowcoder.sdk.plugin.common.constant.Constants.HTTP_TIMEOUT;
22+
2123
public class GoogleRequest extends AbstractOauth2Request<Oauth2SimpleAuthConfig> {
2224

2325
public GoogleRequest(Oauth2SimpleAuthConfig config) {
@@ -41,6 +43,7 @@ protected Mono<AuthToken> getAuthToken(OAuth2RequestContext context) {
4143

4244
return WebClientBuildHelper.builder()
4345
.systemProxy()
46+
.timeoutMs(HTTP_TIMEOUT)
4447
.build()
4548
.post()
4649
.uri(uri)
@@ -76,6 +79,7 @@ protected Mono<AuthToken> refreshAuthToken(String refreshToken) {
7679

7780
return WebClientBuildHelper.builder()
7881
.systemProxy()
82+
.timeoutMs(HTTP_TIMEOUT)
7983
.build()
8084
.post()
8185
.uri(uri)
@@ -98,6 +102,7 @@ protected Mono<AuthToken> refreshAuthToken(String refreshToken) {
98102
protected Mono<AuthUser> getAuthUser(AuthToken authToken) {
99103
return WebClientBuildHelper.builder()
100104
.systemProxy()
105+
.timeoutMs(HTTP_TIMEOUT)
101106
.build()
102107
.post()
103108
.uri(source.userInfo())

server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/authentication/request/oauth2/request/KeycloakRequest.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package org.lowcoder.api.authentication.request.oauth2.request;
22

3+
import static org.lowcoder.sdk.plugin.common.constant.Constants.HTTP_TIMEOUT;
34
import static org.springframework.web.reactive.function.BodyInserters.fromFormData;
45

56
import java.net.URI;
@@ -40,6 +41,7 @@ protected Mono<AuthToken> getAuthToken(OAuth2RequestContext context) {
4041

4142
return WebClientBuildHelper.builder()
4243
.systemProxy()
44+
.timeoutMs(HTTP_TIMEOUT)
4345
.build()
4446
.post()
4547
.uri(uri)
@@ -76,6 +78,7 @@ protected Mono<AuthToken> refreshAuthToken(String refreshToken) {
7678

7779
return WebClientBuildHelper.builder()
7880
.systemProxy()
81+
.timeoutMs(HTTP_TIMEOUT)
7982
.build()
8083
.post()
8184
.uri(uri)
@@ -105,6 +108,7 @@ protected Mono<AuthToken> refreshAuthToken(String refreshToken) {
105108
protected Mono<AuthUser> getAuthUser(AuthToken authToken) {
106109
return WebClientBuildHelper.builder()
107110
.systemProxy()
111+
.timeoutMs(HTTP_TIMEOUT)
108112
.build()
109113
.post()
110114
.uri(config.replaceAuthUrlClientIdPlaceholder(source.userInfo()))

server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/authentication/request/oauth2/request/OryRequest.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import java.net.URISyntaxException;
1919
import java.util.Map;
2020

21+
import static org.lowcoder.sdk.plugin.common.constant.Constants.HTTP_TIMEOUT;
2122
import static org.springframework.web.reactive.function.BodyInserters.fromFormData;
2223

2324
public class OryRequest extends AbstractOauth2Request<Oauth2OryAuthConfig> {
@@ -37,6 +38,7 @@ protected Mono<AuthToken> getAuthToken(OAuth2RequestContext context) {
3738

3839
return WebClientBuildHelper.builder()
3940
.systemProxy()
41+
.timeoutMs(HTTP_TIMEOUT)
4042
.build()
4143
.post()
4244
.uri(uri)
@@ -73,6 +75,7 @@ protected Mono<AuthToken> refreshAuthToken(String refreshToken) {
7375

7476
return WebClientBuildHelper.builder()
7577
.systemProxy()
78+
.timeoutMs(HTTP_TIMEOUT)
7679
.build()
7780
.post()
7881
.uri(uri)
@@ -101,6 +104,7 @@ protected Mono<AuthToken> refreshAuthToken(String refreshToken) {
101104
protected Mono<AuthUser> getAuthUser(AuthToken authToken) {
102105
return WebClientBuildHelper.builder()
103106
.systemProxy()
107+
.timeoutMs(HTTP_TIMEOUT)
104108
.build()
105109
.post()
106110
.uri(config.replaceAuthUrlClientIdPlaceholder(source.userInfo()))

0 commit comments

Comments
 (0)