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.URI;
|
||||||
import java.net.URLEncoder;
|
import java.net.URLEncoder;
|
||||||
import java.net.http.HttpClient;
|
import java.net.http.HttpClient;
|
||||||
|
import java.net.http.HttpConnectTimeoutException;
|
||||||
import java.net.http.HttpRequest;
|
import java.net.http.HttpRequest;
|
||||||
import java.net.http.HttpResponse;
|
import java.net.http.HttpResponse;
|
||||||
import java.time.Duration;
|
import java.time.Duration;
|
||||||
@ -54,6 +55,7 @@ public class ApiClient {
|
|||||||
private Consumer<HttpResponse<InputStream>> responseInterceptor;
|
private Consumer<HttpResponse<InputStream>> responseInterceptor;
|
||||||
private Consumer<HttpResponse<String>> asyncResponseInterceptor;
|
private Consumer<HttpResponse<String>> asyncResponseInterceptor;
|
||||||
private Duration readTimeout;
|
private Duration readTimeout;
|
||||||
|
private Duration connectTimeout;
|
||||||
|
|
||||||
private static String valueToString(Object value) {
|
private static String valueToString(Object value) {
|
||||||
if (value == null) {
|
if (value == null) {
|
||||||
@ -158,6 +160,7 @@ public class ApiClient {
|
|||||||
updateBaseUri(getDefaultBaseUri());
|
updateBaseUri(getDefaultBaseUri());
|
||||||
interceptor = null;
|
interceptor = null;
|
||||||
readTimeout = null;
|
readTimeout = null;
|
||||||
|
connectTimeout = null;
|
||||||
responseInterceptor = null;
|
responseInterceptor = null;
|
||||||
asyncResponseInterceptor = null;
|
asyncResponseInterceptor = null;
|
||||||
}
|
}
|
||||||
@ -175,6 +178,7 @@ public class ApiClient {
|
|||||||
updateBaseUri(baseUri != null ? baseUri : getDefaultBaseUri());
|
updateBaseUri(baseUri != null ? baseUri : getDefaultBaseUri());
|
||||||
interceptor = null;
|
interceptor = null;
|
||||||
readTimeout = null;
|
readTimeout = null;
|
||||||
|
connectTimeout = null;
|
||||||
responseInterceptor = null;
|
responseInterceptor = null;
|
||||||
asyncResponseInterceptor = null;
|
asyncResponseInterceptor = null;
|
||||||
}
|
}
|
||||||
@ -411,4 +415,35 @@ public class ApiClient {
|
|||||||
public Duration getReadTimeout() {
|
public Duration getReadTimeout() {
|
||||||
return readTimeout;
|
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 {
|
ext {
|
||||||
swagger_annotations_version = "1.5.22"
|
swagger_annotations_version = "1.5.22"
|
||||||
jackson_version = "2.10.4"
|
jackson_version = "2.13.0"
|
||||||
jakarta_annotation_version = "1.3.5"
|
jakarta_annotation_version = "1.3.5"
|
||||||
junit_version = "4.13.2"
|
junit_version = "4.13.2"
|
||||||
}
|
}
|
||||||
|
@ -221,7 +221,7 @@
|
|||||||
<swagger-annotations-version>1.5.22</swagger-annotations-version>
|
<swagger-annotations-version>1.5.22</swagger-annotations-version>
|
||||||
<maven.compiler.source>11</maven.compiler.source>
|
<maven.compiler.source>11</maven.compiler.source>
|
||||||
<maven.compiler.target>11</maven.compiler.target>
|
<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>
|
<jackson-databind-nullable-version>0.2.2</jackson-databind-nullable-version>
|
||||||
<jakarta-annotation-version>1.3.5</jakarta-annotation-version>
|
<jakarta-annotation-version>1.3.5</jakarta-annotation-version>
|
||||||
<junit-version>4.13.2</junit-version>
|
<junit-version>4.13.2</junit-version>
|
||||||
|
@ -63,7 +63,7 @@ artifacts {
|
|||||||
|
|
||||||
ext {
|
ext {
|
||||||
swagger_annotations_version = "1.5.22"
|
swagger_annotations_version = "1.5.22"
|
||||||
jackson_version = "2.10.4"
|
jackson_version = "2.13.0"
|
||||||
jakarta_annotation_version = "1.3.5"
|
jakarta_annotation_version = "1.3.5"
|
||||||
junit_version = "4.13.2"
|
junit_version = "4.13.2"
|
||||||
}
|
}
|
||||||
|
@ -214,7 +214,7 @@
|
|||||||
<swagger-annotations-version>1.5.22</swagger-annotations-version>
|
<swagger-annotations-version>1.5.22</swagger-annotations-version>
|
||||||
<maven.compiler.source>11</maven.compiler.source>
|
<maven.compiler.source>11</maven.compiler.source>
|
||||||
<maven.compiler.target>11</maven.compiler.target>
|
<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>
|
<jackson-databind-nullable-version>0.2.2</jackson-databind-nullable-version>
|
||||||
<jakarta-annotation-version>1.3.5</jakarta-annotation-version>
|
<jakarta-annotation-version>1.3.5</jakarta-annotation-version>
|
||||||
<junit-version>4.13.2</junit-version>
|
<junit-version>4.13.2</junit-version>
|
||||||
|
@ -23,6 +23,7 @@ import java.io.InputStream;
|
|||||||
import java.net.URI;
|
import java.net.URI;
|
||||||
import java.net.URLEncoder;
|
import java.net.URLEncoder;
|
||||||
import java.net.http.HttpClient;
|
import java.net.http.HttpClient;
|
||||||
|
import java.net.http.HttpConnectTimeoutException;
|
||||||
import java.net.http.HttpRequest;
|
import java.net.http.HttpRequest;
|
||||||
import java.net.http.HttpResponse;
|
import java.net.http.HttpResponse;
|
||||||
import java.time.Duration;
|
import java.time.Duration;
|
||||||
@ -63,6 +64,7 @@ public class ApiClient {
|
|||||||
private Consumer<HttpResponse<InputStream>> responseInterceptor;
|
private Consumer<HttpResponse<InputStream>> responseInterceptor;
|
||||||
private Consumer<HttpResponse<String>> asyncResponseInterceptor;
|
private Consumer<HttpResponse<String>> asyncResponseInterceptor;
|
||||||
private Duration readTimeout;
|
private Duration readTimeout;
|
||||||
|
private Duration connectTimeout;
|
||||||
|
|
||||||
private static String valueToString(Object value) {
|
private static String valueToString(Object value) {
|
||||||
if (value == null) {
|
if (value == null) {
|
||||||
@ -167,6 +169,7 @@ public class ApiClient {
|
|||||||
updateBaseUri(getDefaultBaseUri());
|
updateBaseUri(getDefaultBaseUri());
|
||||||
interceptor = null;
|
interceptor = null;
|
||||||
readTimeout = null;
|
readTimeout = null;
|
||||||
|
connectTimeout = null;
|
||||||
responseInterceptor = null;
|
responseInterceptor = null;
|
||||||
asyncResponseInterceptor = null;
|
asyncResponseInterceptor = null;
|
||||||
}
|
}
|
||||||
@ -184,6 +187,7 @@ public class ApiClient {
|
|||||||
updateBaseUri(baseUri != null ? baseUri : getDefaultBaseUri());
|
updateBaseUri(baseUri != null ? baseUri : getDefaultBaseUri());
|
||||||
interceptor = null;
|
interceptor = null;
|
||||||
readTimeout = null;
|
readTimeout = null;
|
||||||
|
connectTimeout = null;
|
||||||
responseInterceptor = null;
|
responseInterceptor = null;
|
||||||
asyncResponseInterceptor = null;
|
asyncResponseInterceptor = null;
|
||||||
}
|
}
|
||||||
@ -418,4 +422,35 @@ public class ApiClient {
|
|||||||
public Duration getReadTimeout() {
|
public Duration getReadTimeout() {
|
||||||
return readTimeout;
|
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 {
|
ext {
|
||||||
swagger_annotations_version = "1.5.22"
|
swagger_annotations_version = "1.5.22"
|
||||||
jackson_version = "2.10.4"
|
jackson_version = "2.13.0"
|
||||||
jakarta_annotation_version = "1.3.5"
|
jakarta_annotation_version = "1.3.5"
|
||||||
junit_version = "4.13.2"
|
junit_version = "4.13.2"
|
||||||
}
|
}
|
||||||
|
@ -214,7 +214,7 @@
|
|||||||
<swagger-annotations-version>1.5.22</swagger-annotations-version>
|
<swagger-annotations-version>1.5.22</swagger-annotations-version>
|
||||||
<maven.compiler.source>11</maven.compiler.source>
|
<maven.compiler.source>11</maven.compiler.source>
|
||||||
<maven.compiler.target>11</maven.compiler.target>
|
<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>
|
<jackson-databind-nullable-version>0.2.2</jackson-databind-nullable-version>
|
||||||
<jakarta-annotation-version>1.3.5</jakarta-annotation-version>
|
<jakarta-annotation-version>1.3.5</jakarta-annotation-version>
|
||||||
<junit-version>4.13.2</junit-version>
|
<junit-version>4.13.2</junit-version>
|
||||||
|
@ -23,6 +23,7 @@ import java.io.InputStream;
|
|||||||
import java.net.URI;
|
import java.net.URI;
|
||||||
import java.net.URLEncoder;
|
import java.net.URLEncoder;
|
||||||
import java.net.http.HttpClient;
|
import java.net.http.HttpClient;
|
||||||
|
import java.net.http.HttpConnectTimeoutException;
|
||||||
import java.net.http.HttpRequest;
|
import java.net.http.HttpRequest;
|
||||||
import java.net.http.HttpResponse;
|
import java.net.http.HttpResponse;
|
||||||
import java.time.Duration;
|
import java.time.Duration;
|
||||||
@ -63,6 +64,7 @@ public class ApiClient {
|
|||||||
private Consumer<HttpResponse<InputStream>> responseInterceptor;
|
private Consumer<HttpResponse<InputStream>> responseInterceptor;
|
||||||
private Consumer<HttpResponse<String>> asyncResponseInterceptor;
|
private Consumer<HttpResponse<String>> asyncResponseInterceptor;
|
||||||
private Duration readTimeout;
|
private Duration readTimeout;
|
||||||
|
private Duration connectTimeout;
|
||||||
|
|
||||||
private static String valueToString(Object value) {
|
private static String valueToString(Object value) {
|
||||||
if (value == null) {
|
if (value == null) {
|
||||||
@ -167,6 +169,7 @@ public class ApiClient {
|
|||||||
updateBaseUri(getDefaultBaseUri());
|
updateBaseUri(getDefaultBaseUri());
|
||||||
interceptor = null;
|
interceptor = null;
|
||||||
readTimeout = null;
|
readTimeout = null;
|
||||||
|
connectTimeout = null;
|
||||||
responseInterceptor = null;
|
responseInterceptor = null;
|
||||||
asyncResponseInterceptor = null;
|
asyncResponseInterceptor = null;
|
||||||
}
|
}
|
||||||
@ -184,6 +187,7 @@ public class ApiClient {
|
|||||||
updateBaseUri(baseUri != null ? baseUri : getDefaultBaseUri());
|
updateBaseUri(baseUri != null ? baseUri : getDefaultBaseUri());
|
||||||
interceptor = null;
|
interceptor = null;
|
||||||
readTimeout = null;
|
readTimeout = null;
|
||||||
|
connectTimeout = null;
|
||||||
responseInterceptor = null;
|
responseInterceptor = null;
|
||||||
asyncResponseInterceptor = null;
|
asyncResponseInterceptor = null;
|
||||||
}
|
}
|
||||||
@ -418,4 +422,35 @@ public class ApiClient {
|
|||||||
public Duration getReadTimeout() {
|
public Duration getReadTimeout() {
|
||||||
return readTimeout;
|
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