@@ -42,7 +42,15 @@ public class Dhis2ClientBuilder
4242
4343 private final int maxIdleConnections ;
4444
45- private final long keepAliveDuration ;
45+ private final long keepAliveDurationMs ;
46+
47+ private final long callTimeoutMs ;
48+
49+ private final long readTimeoutMs ;
50+
51+ private final long writeTimeoutMs ;
52+
53+ private final long connectTimeoutMs ;
4654
4755 private ConverterFactory converterFactory = new JacksonConverterFactory ();
4856
@@ -53,36 +61,42 @@ public static Dhis2ClientBuilder newClient( String baseApiUrl, String username,
5361
5462 public static Dhis2ClientBuilder newClient ( String baseApiUrl , String personalAccessToken )
5563 {
56- return newClient ( baseApiUrl , personalAccessToken , 5 , 300000 );
64+ return newClient ( baseApiUrl , personalAccessToken , 5 , 300000 , 0 , 10000 , 10000 , 10000 );
5765 }
5866
5967 public static Dhis2ClientBuilder newClient ( String baseApiUrl , String username , String password ,
60- int maxIdleConnections , long keepAliveDuration )
68+ int maxIdleConnections , long keepAliveDurationMs )
6169 {
6270 return new Dhis2ClientBuilder ( baseApiUrl , new BasicCredentialsSecurityContext ( username , password ),
63- maxIdleConnections , keepAliveDuration );
71+ maxIdleConnections , keepAliveDurationMs , 0 , 10000 , 10000 , 10000 );
6472 }
6573
6674 public static Dhis2ClientBuilder newClient ( String baseApiUrl , String personalAccessToken , int maxIdleConnections ,
67- long keepAliveDuration )
75+ long keepAliveDurationMs , long callTimeoutMs , long readTimeoutMs , long writeTimeoutMs , long connectTimeoutMs )
6876 {
6977 return new Dhis2ClientBuilder ( baseApiUrl , new PersonalAccessTokenSecurityContext ( personalAccessToken ),
70- maxIdleConnections , keepAliveDuration );
78+ maxIdleConnections , keepAliveDurationMs , callTimeoutMs , readTimeoutMs , writeTimeoutMs , connectTimeoutMs );
7179 }
7280
7381 public static Dhis2ClientBuilder newClient ( String baseApiUrl , SecurityContext securityContext ,
74- int maxIdleConnections , long keepAliveDuration )
82+ int maxIdleConnections , long keepAliveDurationMs , long callTimeoutMs , long readTimeoutMs , long writeTimeoutMs ,
83+ long connectTimeoutMs )
7584 {
76- return new Dhis2ClientBuilder ( baseApiUrl , securityContext , maxIdleConnections , keepAliveDuration );
85+ return new Dhis2ClientBuilder ( baseApiUrl , securityContext , maxIdleConnections , keepAliveDurationMs , callTimeoutMs ,
86+ readTimeoutMs , writeTimeoutMs , connectTimeoutMs );
7787 }
7888
7989 private Dhis2ClientBuilder ( String baseApiUrl , SecurityContext securityContext , int maxIdleConnections ,
80- long keepAliveDuration )
90+ long keepAliveDurationMs , long callTimeoutMs , long readTimeoutMs , long writeTimeoutMs , long connectTimeout )
8191 {
8292 this .baseApiUrl = baseApiUrl .trim ();
8393 this .securityContext = securityContext ;
8494 this .maxIdleConnections = maxIdleConnections ;
85- this .keepAliveDuration = keepAliveDuration ;
95+ this .keepAliveDurationMs = keepAliveDurationMs ;
96+ this .callTimeoutMs = callTimeoutMs ;
97+ this .readTimeoutMs = readTimeoutMs ;
98+ this .writeTimeoutMs = writeTimeoutMs ;
99+ this .connectTimeoutMs = connectTimeout ;
86100 }
87101
88102 public Dhis2ClientBuilder withConverterFactory ( ConverterFactory converterFactory )
@@ -100,6 +114,6 @@ public Dhis2Client build()
100114 apiPathStringBuilder .append ( "/" );
101115 }
102116 return new DefaultDhis2Client ( apiPathStringBuilder .toString (), securityContext , converterFactory ,
103- maxIdleConnections , keepAliveDuration );
117+ maxIdleConnections , keepAliveDurationMs , callTimeoutMs , readTimeoutMs , writeTimeoutMs , connectTimeoutMs );
104118 }
105119}
0 commit comments