perf(http): 为 OkHttpClient 添加写超时设置
This commit is contained in:
@@ -23,7 +23,8 @@ public class OkHttpUtil {
|
||||
public static OkHttpClient.Builder ofHttpClient() {
|
||||
OkHttpClient.Builder builder = new OkHttpClient.Builder()
|
||||
.connectTimeout(OkHttpConfig.GLOBAL_TIMEOUT, TimeUnit.MILLISECONDS)
|
||||
.readTimeout(OkHttpConfig.GLOBAL_TIMEOUT, TimeUnit.MILLISECONDS);
|
||||
.readTimeout(OkHttpConfig.GLOBAL_TIMEOUT, TimeUnit.MILLISECONDS)
|
||||
.writeTimeout(OkHttpConfig.GLOBAL_TIMEOUT, TimeUnit.MILLISECONDS);
|
||||
|
||||
for (Interceptor interceptor : OkHttpConfig.INTERCEPTORS) {
|
||||
builder.addInterceptor(interceptor);
|
||||
@@ -32,6 +33,7 @@ public class OkHttpUtil {
|
||||
return builder;
|
||||
}
|
||||
|
||||
|
||||
public static Request ofRequest(String method, String url, RequestBody body) {
|
||||
return new Request.Builder()
|
||||
.url(url).method(method, body).build();
|
||||
@@ -74,7 +76,8 @@ public class OkHttpUtil {
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// get请求
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
/// ////////////////////////////////////////////////////////////////////////
|
||||
|
||||
public static String get(String urlString) {
|
||||
return get(urlString, OkHttpConfig.GLOBAL_TIMEOUT);
|
||||
@@ -92,6 +95,8 @@ public class OkHttpUtil {
|
||||
|
||||
public static String get(String urlString, int timeout) {
|
||||
try (Response execute = ofHttpClient().connectTimeout(timeout, TimeUnit.MILLISECONDS)
|
||||
.readTimeout(timeout, TimeUnit.MILLISECONDS)
|
||||
.writeTimeout(timeout, TimeUnit.MILLISECONDS)
|
||||
.build().newCall(ofGet(urlString)).execute()) {
|
||||
if (execute.body() != null) {
|
||||
return execute.body().string();
|
||||
@@ -104,7 +109,8 @@ public class OkHttpUtil {
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// Post请求
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
/// ////////////////////////////////////////////////////////////////////////
|
||||
|
||||
public static String post(String urlString, Map<String, String> formMap) {
|
||||
return post(urlString, formMap, OkHttpConfig.GLOBAL_TIMEOUT);
|
||||
@@ -124,6 +130,8 @@ public class OkHttpUtil {
|
||||
|
||||
public static String post(String urlString, RequestBody body, int timeout) {
|
||||
try (Response response = ofHttpClient().connectTimeout(timeout, TimeUnit.MILLISECONDS)
|
||||
.readTimeout(timeout, TimeUnit.MILLISECONDS)
|
||||
.writeTimeout(timeout, TimeUnit.MILLISECONDS)
|
||||
.build().newCall(ofPost(urlString, body)).execute()) {
|
||||
if (response.body() != null) {
|
||||
return response.body().string();
|
||||
@@ -136,7 +144,8 @@ public class OkHttpUtil {
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// Download下载文件
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
/// ////////////////////////////////////////////////////////////////////////
|
||||
|
||||
public static File downloadFile(String url, String destFile) {
|
||||
return downloadFile(url, FileUtil.file(destFile));
|
||||
@@ -146,6 +155,7 @@ public class OkHttpUtil {
|
||||
try (Response response = ofHttpClient()
|
||||
.connectTimeout(0, TimeUnit.MILLISECONDS)
|
||||
.readTimeout(0, TimeUnit.MILLISECONDS)
|
||||
.writeTimeout(0, TimeUnit.MILLISECONDS)
|
||||
.build().newCall(ofGet(url)).execute()) {
|
||||
if (response.isSuccessful() && response.body() != null) {
|
||||
FileUtil.writeFromStream(response.body().byteStream(), destFile);
|
||||
@@ -160,6 +170,7 @@ public class OkHttpUtil {
|
||||
try (Response response = ofHttpClient()
|
||||
.connectTimeout(0, TimeUnit.MILLISECONDS)
|
||||
.readTimeout(0, TimeUnit.MILLISECONDS)
|
||||
.writeTimeout(0, TimeUnit.MILLISECONDS)
|
||||
.build().newCall(ofGet(url)).execute()) {
|
||||
if (response.isSuccessful() && response.body() != null) {
|
||||
return response.body().bytes();
|
||||
|
||||
Reference in New Issue
Block a user