Add timeout setting

This commit is contained in:
jhengazuki 2025-08-15 16:28:43 +08:00
parent cc54f9404c
commit 0a0c2b2a24
4 changed files with 17 additions and 3 deletions

View File

@ -49,7 +49,7 @@ public class Config {
} }
public List<Data> getData() { public List<Data> getData() {
return data = data == null ? Data.objectFrom(OkHttp.string(getApi())).getData() : data; return data = data == null ? Data.objectFrom(OkHttp.string(getApi(), 3000)).getData() : data;
} }
public Uri getUri() { public Uri getUri() {

View File

@ -24,6 +24,8 @@ import okhttp3.Response;
public class OkHttp { public class OkHttp {
private static final long TIMEOUT = TimeUnit.SECONDS.toMillis(15);
public static final String POST = "POST"; public static final String POST = "POST";
public static final String GET = "GET"; public static final String GET = "GET";
@ -45,6 +47,10 @@ public class OkHttp {
return string(url, null); return string(url, null);
} }
public static String string(String url, long timeout) {
return string(url, null, null, timeout);
}
public static String string(String url, Map<String, String> header) { public static String string(String url, Map<String, String> header) {
return string(url, null, header); return string(url, null, header);
} }
@ -53,6 +59,10 @@ public class OkHttp {
return new OkRequest(GET, url, params, header).execute(client()).getBody(); return new OkRequest(GET, url, params, header).execute(client()).getBody();
} }
public static String string(String url, Map<String, String> params, Map<String, String> header, long timeout) {
return new OkRequest(GET, url, params, header).execute(client(timeout)).getBody();
}
public static String post(String url, Map<String, String> params) { public static String post(String url, Map<String, String> params) {
return post(url, params, null).getBody(); return post(url, params, null).getBody();
} }
@ -86,7 +96,11 @@ public class OkHttp {
} }
private static OkHttpClient.Builder getBuilder() { private static OkHttpClient.Builder getBuilder() {
return new OkHttpClient.Builder().dns(safeDns()).connectTimeout(30, TimeUnit.SECONDS).readTimeout(30, TimeUnit.SECONDS).writeTimeout(30, TimeUnit.SECONDS).hostnameVerifier((hostname, session) -> true).sslSocketFactory(getSSLContext().getSocketFactory(), trustAllCertificates()); return new OkHttpClient.Builder().dns(safeDns()).connectTimeout(TIMEOUT, TimeUnit.MILLISECONDS).readTimeout(TIMEOUT, TimeUnit.MILLISECONDS).writeTimeout(TIMEOUT, TimeUnit.MILLISECONDS).hostnameVerifier((hostname, session) -> true).sslSocketFactory(getSSLContext().getSocketFactory(), trustAllCertificates());
}
private static OkHttpClient client(long timeout) {
return client().newBuilder().connectTimeout(timeout, TimeUnit.MILLISECONDS).readTimeout(timeout, TimeUnit.MILLISECONDS).writeTimeout(timeout, TimeUnit.MILLISECONDS).build();
} }
private static OkHttpClient client() { private static OkHttpClient client() {

Binary file not shown.

View File

@ -1 +1 @@
b17f3177fdffd71233d05a33b4ca7a89 6e1a6ee68ebc096e7efa7fb5e9c691ed