Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit f0ee6cc

Browse files
fix: honor rest api ssl cert verification setting (#351)
1 parent d9debc7 commit f0ee6cc

File tree

2 files changed

+13
-7
lines changed

2 files changed

+13
-7
lines changed

‎server/api-service/lowcoder-plugins/restApiPlugin/src/main/java/org/lowcoder/plugin/restapi/RestApiExecutor.java‎

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,6 @@
4747
import java.net.URISyntaxException;
4848
import java.nio.charset.StandardCharsets;
4949
import java.text.ParseException;
50-
import java.time.Duration;
5150
import java.util.ArrayList;
5251
import java.util.Base64;
5352
import java.util.HashMap;
@@ -94,7 +93,6 @@
9493
import org.springframework.http.MediaType;
9594
import org.springframework.http.ResponseEntity;
9695
import org.springframework.http.client.reactive.ClientHttpRequest;
97-
import org.springframework.http.client.reactive.ReactorClientHttpConnector;
9896
import org.springframework.util.MultiValueMap;
9997
import org.springframework.web.reactive.function.BodyInserter;
10098
import org.springframework.web.reactive.function.BodyInserters;
@@ -109,7 +107,6 @@
109107
import lombok.Builder;
110108
import lombok.Getter;
111109
import reactor.core.publisher.Mono;
112-
import reactor.netty.http.client.HttpClient;
113110

114111
@Extension
115112
public class RestApiExecutor implements QueryExecutor<RestApiDatasourceConfig, Object, RestApiQueryExecutionContext> {
@@ -244,6 +241,7 @@ public Mono<QueryExecutionResult> executeQuery(Object webClientFilter, RestApiQu
244241
WebClient.Builder webClientBuilder = WebClientBuildHelper.builder()
245242
.disallowedHosts(commonConfig.getDisallowedHosts())
246243
.sslConfig(context.getSslConfig())
244+
.timeoutMs(context.getTimeoutMs())
247245
.toWebClientBuilder();
248246

249247
Map<String, String> allHeaders = context.getHeaders();
@@ -260,13 +258,9 @@ public Mono<QueryExecutionResult> executeQuery(Object webClientFilter, RestApiQu
260258
webClientBuilder.filter(new BufferingFilter());
261259
}
262260

263-
HttpClient httpClient = HttpClient.create()
264-
.responseTimeout(Duration.ofMillis(context.getTimeoutMs()));
265-
266261
webClientBuilder.defaultCookies(injectCookies(context));
267262
WebClient client = webClientBuilder
268263
.exchangeStrategies(exchangeStrategies)
269-
.clientConnector(new ReactorClientHttpConnector(httpClient))
270264
.build();
271265

272266
BodyInserter<?, ? super ClientHttpRequest> bodyInserter = buildBodyInserter(

‎server/api-service/lowcoder-sdk/src/main/java/org/lowcoder/sdk/webclient/WebClientBuildHelper.java‎

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

33
import java.security.cert.CertificateException;
44
import java.security.cert.X509Certificate;
5+
import java.time.Duration;
56
import java.util.Set;
67

78
import javax.net.ssl.SSLException;
@@ -33,6 +34,7 @@ public class WebClientBuildHelper {
3334
private SslConfig sslConfig;
3435
private Set<String> disallowedHosts;
3536
private boolean systemProxy;
37+
private Long timeoutMs;
3638

3739
static {
3840
proxyHost = System.getProperty("http.proxyHost");
@@ -61,12 +63,22 @@ public WebClientBuildHelper systemProxy() {
6163
return this;
6264
}
6365

66+
public WebClientBuildHelper timeoutMs(long milliseconds) {
67+
this.timeoutMs = milliseconds;
68+
return this;
69+
}
70+
6471
public WebClient build() {
6572
return toWebClientBuilder().build();
6673
}
6774

6875
public Builder toWebClientBuilder() {
6976
HttpClient httpClient = HttpClient.create();
77+
if (timeoutMs != null)
78+
{
79+
httpClient.responseTimeout(Duration.ofMillis(timeoutMs));
80+
}
81+
7082
if (sslConfig != null) {
7183
if (sslConfig instanceof DisableVerifySslConfig) {
7284
httpClient = httpClient.secure(sslProviderWithoutCertVerify());

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /