File tree Expand file tree Collapse file tree 7 files changed +34
-2
lines changed
main/java/io/avaje/http/client
test/java/io/avaje/http/client Expand file tree Collapse file tree 7 files changed +34
-2
lines changed Original file line number Diff line number Diff line change @@ -23,6 +23,7 @@ abstract class DBaseBuilder {
23
23
java .net .http .HttpClient client ;
24
24
String baseUrl ;
25
25
boolean requestLogging = true ;
26
+ Duration connectionTimeout = Duration .ofSeconds (20 );
26
27
Duration requestTimeout = Duration .ofSeconds (20 );
27
28
BodyAdapter bodyAdapter ;
28
29
RetryHandler retryHandler ;
@@ -92,9 +93,9 @@ private RequestIntercept buildIntercept() {
92
93
}
93
94
94
95
private java .net .http .HttpClient defaultClient () {
95
- final java . net . http . HttpClient . Builder builder = java .net .http .HttpClient .newBuilder ()
96
+ final var builder = java .net .http .HttpClient .newBuilder ()
96
97
.followRedirects (redirect )
97
- .connectTimeout (Duration . ofSeconds ( 20 ) );
98
+ .connectTimeout (connectionTimeout );
98
99
if (cookieHandler != null ) {
99
100
builder .cookieHandler (cookieHandler );
100
101
}
Original file line number Diff line number Diff line change @@ -27,6 +27,12 @@ public HttpClient.Builder baseUrl(String baseUrl) {
27
27
return this ;
28
28
}
29
29
30
+ @ Override
31
+ public HttpClient .Builder connectionTimeout (Duration connectionTimeout ) {
32
+ this .connectionTimeout = connectionTimeout ;
33
+ return this ;
34
+ }
35
+
30
36
@ Override
31
37
public HttpClient .Builder requestTimeout (Duration requestTimeout ) {
32
38
this .requestTimeout = requestTimeout ;
Original file line number Diff line number Diff line change @@ -28,6 +28,12 @@ public HttpClientContext.Builder baseUrl(String baseUrl) {
28
28
return this ;
29
29
}
30
30
31
+ @ Override
32
+ public HttpClientContext .Builder connectionTimeout (Duration connectionTimeout ) {
33
+ this .connectionTimeout = connectionTimeout ;
34
+ return this ;
35
+ }
36
+
31
37
@ Override
32
38
public HttpClientContext .Builder requestTimeout (Duration requestTimeout ) {
33
39
this .requestTimeout = requestTimeout ;
Original file line number Diff line number Diff line change @@ -125,6 +125,13 @@ interface Builder {
125
125
*/
126
126
Builder baseUrl (String baseUrl );
127
127
128
+ /**
129
+ * Set the connection timeout to use.
130
+ *
131
+ * @see java.net.http.HttpClient.Builder#connectTimeout(Duration)
132
+ */
133
+ Builder connectionTimeout (Duration connectionTimeout );
134
+
128
135
/**
129
136
* Set the default request timeout.
130
137
*
Original file line number Diff line number Diff line change @@ -102,6 +102,13 @@ interface Builder {
102
102
*/
103
103
Builder baseUrl (String baseUrl );
104
104
105
+ /**
106
+ * Set the connection timeout to use.
107
+ *
108
+ * @see java.net.http.HttpClient.Builder#connectTimeout(Duration)
109
+ */
110
+ Builder connectionTimeout (Duration connectionTimeout );
111
+
105
112
/**
106
113
* Set the default request timeout.
107
114
*
Original file line number Diff line number Diff line change 6
6
import org .junit .jupiter .api .AfterAll ;
7
7
import org .junit .jupiter .api .BeforeAll ;
8
8
9
+ import java .time .Duration ;
10
+
9
11
public class BaseWebTest {
10
12
11
13
static Javalin webServer ;
@@ -26,6 +28,8 @@ public static void shutdown() {
26
28
public static HttpClientContext client () {
27
29
return HttpClientContext .builder ()
28
30
.baseUrl (baseUrl )
31
+ .connectionTimeout (Duration .ofSeconds (1 ))
32
+ .requestTimeout (Duration .ofSeconds (1 ))
29
33
.bodyAdapter (new JacksonBodyAdapter (new ObjectMapper ()))
30
34
.build ();
31
35
}
Original file line number Diff line number Diff line change @@ -36,6 +36,7 @@ class HelloControllerTest extends BaseWebTest {
36
36
void newClientTest () {
37
37
HttpClient client = HttpClient .builder ()
38
38
.baseUrl ("http://localhost:8887" )
39
+ .connectionTimeout (Duration .ofSeconds (1 ))
39
40
.bodyAdapter (new JacksonBodyAdapter ())
40
41
.build ();
41
42
You can’t perform that action at this time.
0 commit comments