forked from loafle/openapi-generator-original
[java][native] add connection timeout (#11890)
* java-native: add connection timeout update connection timeout * updated samples for connection timeout
This commit is contained in:
parent
860b6340a8
commit
fa9c7a669b
@ -14,6 +14,7 @@ import java.io.InputStream;
|
||||
import java.net.URI;
|
||||
import java.net.URLEncoder;
|
||||
import java.net.http.HttpClient;
|
||||
import java.net.http.HttpConnectTimeoutException;
|
||||
import java.net.http.HttpRequest;
|
||||
import java.net.http.HttpResponse;
|
||||
import java.time.Duration;
|
||||
@ -54,6 +55,7 @@ public class ApiClient {
|
||||
private Consumer<HttpResponse<InputStream>> responseInterceptor;
|
||||
private Consumer<HttpResponse<String>> asyncResponseInterceptor;
|
||||
private Duration readTimeout;
|
||||
private Duration connectTimeout;
|
||||
|
||||
private static String valueToString(Object value) {
|
||||
if (value == null) {
|
||||
@ -158,6 +160,7 @@ public class ApiClient {
|
||||
updateBaseUri(getDefaultBaseUri());
|
||||
interceptor = null;
|
||||
readTimeout = null;
|
||||
connectTimeout = null;
|
||||
responseInterceptor = null;
|
||||
asyncResponseInterceptor = null;
|
||||
}
|
||||
@ -175,6 +178,7 @@ public class ApiClient {
|
||||
updateBaseUri(baseUri != null ? baseUri : getDefaultBaseUri());
|
||||
interceptor = null;
|
||||
readTimeout = null;
|
||||
connectTimeout = null;
|
||||
responseInterceptor = null;
|
||||
asyncResponseInterceptor = null;
|
||||
}
|
||||
@ -411,4 +415,35 @@ public class ApiClient {
|
||||
public Duration getReadTimeout() {
|
||||
return readTimeout;
|
||||
}
|
||||
/**
|
||||
* Sets the connect timeout (in milliseconds) for the http client.
|
||||
*
|
||||
* <p> In the case where a new connection needs to be established, if
|
||||
* the connection cannot be established within the given {@code
|
||||
* duration}, then {@link HttpClient#send(HttpRequest,BodyHandler)
|
||||
* HttpClient::send} throws an {@link HttpConnectTimeoutException}, or
|
||||
* {@link HttpClient#sendAsync(HttpRequest,BodyHandler)
|
||||
* HttpClient::sendAsync} completes exceptionally with an
|
||||
* {@code HttpConnectTimeoutException}. If a new connection does not
|
||||
* need to be established, for example if a connection can be reused
|
||||
* from a previous request, then this timeout duration has no effect.
|
||||
*
|
||||
* @param connectTimeout connection timeout in milliseconds
|
||||
*
|
||||
* @return This object.
|
||||
*/
|
||||
public ApiClient setConnectTimeout(Duration connectTimeout) {
|
||||
this.connectTimeout = connectTimeout;
|
||||
this.builder.connectTimeout(connectTimeout);
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get connection timeout (in milliseconds).
|
||||
*
|
||||
* @return Timeout in milliseconds
|
||||
*/
|
||||
public Duration getConnectTimeout() {
|
||||
return connectTimeout;
|
||||
}
|
||||
}
|
||||
|
@ -63,7 +63,7 @@ artifacts {
|
||||
|
||||
ext {
|
||||
swagger_annotations_version = "1.5.22"
|
||||
jackson_version = "2.10.4"
|
||||
jackson_version = "2.13.0"
|
||||
jakarta_annotation_version = "1.3.5"
|
||||
junit_version = "4.13.2"
|
||||
}
|
||||
|
@ -221,7 +221,7 @@
|
||||
<swagger-annotations-version>1.5.22</swagger-annotations-version>
|
||||
<maven.compiler.source>11</maven.compiler.source>
|
||||
<maven.compiler.target>11</maven.compiler.target>
|
||||
<jackson-version>2.10.4</jackson-version>
|
||||
<jackson-version>2.13.0</jackson-version>
|
||||
<jackson-databind-nullable-version>0.2.2</jackson-databind-nullable-version>
|
||||
<jakarta-annotation-version>1.3.5</jakarta-annotation-version>
|
||||
<junit-version>4.13.2</junit-version>
|
||||
|
@ -63,7 +63,7 @@ artifacts {
|
||||
|
||||
ext {
|
||||
swagger_annotations_version = "1.5.22"
|
||||
jackson_version = "2.10.4"
|
||||
jackson_version = "2.13.0"
|
||||
jakarta_annotation_version = "1.3.5"
|
||||
junit_version = "4.13.2"
|
||||
}
|
||||
|
@ -214,7 +214,7 @@
|
||||
<swagger-annotations-version>1.5.22</swagger-annotations-version>
|
||||
<maven.compiler.source>11</maven.compiler.source>
|
||||
<maven.compiler.target>11</maven.compiler.target>
|
||||
<jackson-version>2.10.4</jackson-version>
|
||||
<jackson-version>2.13.0</jackson-version>
|
||||
<jackson-databind-nullable-version>0.2.2</jackson-databind-nullable-version>
|
||||
<jakarta-annotation-version>1.3.5</jakarta-annotation-version>
|
||||
<junit-version>4.13.2</junit-version>
|
||||
|
@ -23,6 +23,7 @@ import java.io.InputStream;
|
||||
import java.net.URI;
|
||||
import java.net.URLEncoder;
|
||||
import java.net.http.HttpClient;
|
||||
import java.net.http.HttpConnectTimeoutException;
|
||||
import java.net.http.HttpRequest;
|
||||
import java.net.http.HttpResponse;
|
||||
import java.time.Duration;
|
||||
@ -63,6 +64,7 @@ public class ApiClient {
|
||||
private Consumer<HttpResponse<InputStream>> responseInterceptor;
|
||||
private Consumer<HttpResponse<String>> asyncResponseInterceptor;
|
||||
private Duration readTimeout;
|
||||
private Duration connectTimeout;
|
||||
|
||||
private static String valueToString(Object value) {
|
||||
if (value == null) {
|
||||
@ -167,6 +169,7 @@ public class ApiClient {
|
||||
updateBaseUri(getDefaultBaseUri());
|
||||
interceptor = null;
|
||||
readTimeout = null;
|
||||
connectTimeout = null;
|
||||
responseInterceptor = null;
|
||||
asyncResponseInterceptor = null;
|
||||
}
|
||||
@ -184,6 +187,7 @@ public class ApiClient {
|
||||
updateBaseUri(baseUri != null ? baseUri : getDefaultBaseUri());
|
||||
interceptor = null;
|
||||
readTimeout = null;
|
||||
connectTimeout = null;
|
||||
responseInterceptor = null;
|
||||
asyncResponseInterceptor = null;
|
||||
}
|
||||
@ -418,4 +422,35 @@ public class ApiClient {
|
||||
public Duration getReadTimeout() {
|
||||
return readTimeout;
|
||||
}
|
||||
/**
|
||||
* Sets the connect timeout (in milliseconds) for the http client.
|
||||
*
|
||||
* <p> In the case where a new connection needs to be established, if
|
||||
* the connection cannot be established within the given {@code
|
||||
* duration}, then {@link HttpClient#send(HttpRequest,BodyHandler)
|
||||
* HttpClient::send} throws an {@link HttpConnectTimeoutException}, or
|
||||
* {@link HttpClient#sendAsync(HttpRequest,BodyHandler)
|
||||
* HttpClient::sendAsync} completes exceptionally with an
|
||||
* {@code HttpConnectTimeoutException}. If a new connection does not
|
||||
* need to be established, for example if a connection can be reused
|
||||
* from a previous request, then this timeout duration has no effect.
|
||||
*
|
||||
* @param connectTimeout connection timeout in milliseconds
|
||||
*
|
||||
* @return This object.
|
||||
*/
|
||||
public ApiClient setConnectTimeout(Duration connectTimeout) {
|
||||
this.connectTimeout = connectTimeout;
|
||||
this.builder.connectTimeout(connectTimeout);
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get connection timeout (in milliseconds).
|
||||
*
|
||||
* @return Timeout in milliseconds
|
||||
*/
|
||||
public Duration getConnectTimeout() {
|
||||
return connectTimeout;
|
||||
}
|
||||
}
|
||||
|
@ -63,7 +63,7 @@ artifacts {
|
||||
|
||||
ext {
|
||||
swagger_annotations_version = "1.5.22"
|
||||
jackson_version = "2.10.4"
|
||||
jackson_version = "2.13.0"
|
||||
jakarta_annotation_version = "1.3.5"
|
||||
junit_version = "4.13.2"
|
||||
}
|
||||
|
@ -214,7 +214,7 @@
|
||||
<swagger-annotations-version>1.5.22</swagger-annotations-version>
|
||||
<maven.compiler.source>11</maven.compiler.source>
|
||||
<maven.compiler.target>11</maven.compiler.target>
|
||||
<jackson-version>2.10.4</jackson-version>
|
||||
<jackson-version>2.13.0</jackson-version>
|
||||
<jackson-databind-nullable-version>0.2.2</jackson-databind-nullable-version>
|
||||
<jakarta-annotation-version>1.3.5</jakarta-annotation-version>
|
||||
<junit-version>4.13.2</junit-version>
|
||||
|
@ -23,6 +23,7 @@ import java.io.InputStream;
|
||||
import java.net.URI;
|
||||
import java.net.URLEncoder;
|
||||
import java.net.http.HttpClient;
|
||||
import java.net.http.HttpConnectTimeoutException;
|
||||
import java.net.http.HttpRequest;
|
||||
import java.net.http.HttpResponse;
|
||||
import java.time.Duration;
|
||||
@ -63,6 +64,7 @@ public class ApiClient {
|
||||
private Consumer<HttpResponse<InputStream>> responseInterceptor;
|
||||
private Consumer<HttpResponse<String>> asyncResponseInterceptor;
|
||||
private Duration readTimeout;
|
||||
private Duration connectTimeout;
|
||||
|
||||
private static String valueToString(Object value) {
|
||||
if (value == null) {
|
||||
@ -167,6 +169,7 @@ public class ApiClient {
|
||||
updateBaseUri(getDefaultBaseUri());
|
||||
interceptor = null;
|
||||
readTimeout = null;
|
||||
connectTimeout = null;
|
||||
responseInterceptor = null;
|
||||
asyncResponseInterceptor = null;
|
||||
}
|
||||
@ -184,6 +187,7 @@ public class ApiClient {
|
||||
updateBaseUri(baseUri != null ? baseUri : getDefaultBaseUri());
|
||||
interceptor = null;
|
||||
readTimeout = null;
|
||||
connectTimeout = null;
|
||||
responseInterceptor = null;
|
||||
asyncResponseInterceptor = null;
|
||||
}
|
||||
@ -418,4 +422,35 @@ public class ApiClient {
|
||||
public Duration getReadTimeout() {
|
||||
return readTimeout;
|
||||
}
|
||||
/**
|
||||
* Sets the connect timeout (in milliseconds) for the http client.
|
||||
*
|
||||
* <p> In the case where a new connection needs to be established, if
|
||||
* the connection cannot be established within the given {@code
|
||||
* duration}, then {@link HttpClient#send(HttpRequest,BodyHandler)
|
||||
* HttpClient::send} throws an {@link HttpConnectTimeoutException}, or
|
||||
* {@link HttpClient#sendAsync(HttpRequest,BodyHandler)
|
||||
* HttpClient::sendAsync} completes exceptionally with an
|
||||
* {@code HttpConnectTimeoutException}. If a new connection does not
|
||||
* need to be established, for example if a connection can be reused
|
||||
* from a previous request, then this timeout duration has no effect.
|
||||
*
|
||||
* @param connectTimeout connection timeout in milliseconds
|
||||
*
|
||||
* @return This object.
|
||||
*/
|
||||
public ApiClient setConnectTimeout(Duration connectTimeout) {
|
||||
this.connectTimeout = connectTimeout;
|
||||
this.builder.connectTimeout(connectTimeout);
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get connection timeout (in milliseconds).
|
||||
*
|
||||
* @return Timeout in milliseconds
|
||||
*/
|
||||
public Duration getConnectTimeout() {
|
||||
return connectTimeout;
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user