forked from troyzhxu/okhttps
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathHttpUtils.java
More file actions
114 lines (98 loc) · 2.64 KB
/
HttpUtils.java
File metadata and controls
114 lines (98 loc) · 2.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
package cn.zhxu.okhttps;
import okhttp3.Call;
import okhttp3.Request;
import okhttp3.WebSocket;
import okhttp3.WebSocketListener;
/**
* Http 工具类(可供第三方库,非主应用使用)
* 若需要配置,请使用 {@link OkHttps } 类
*
* @author Troy.Zhou
*/
public class HttpUtils {
private static HTTP http;
/**
* 配置HttpUtils持有的HTTP实例(不调用此方法前默认使用一个没有没有经过任何配置的HTTP懒实例)
* @param http HTTP实例
*/
@Deprecated
public static void of(HTTP http) {
if (http != null) {
HttpUtils.http = http;
} else {
throw new IllegalArgumentException("Parameter http can not be null!");
}
}
public static synchronized HTTP getHttp() {
if (http != null) {
return http;
}
HTTP.Builder builder = HTTP.builder();
ConvertProvider.inject(builder);
http = builder.build();
return http;
}
/**
* 异步请求
* @param url 请求地址
* @return 异步 HttpTask
*/
public static AHttpTask async(String url) {
return getHttp().async(url);
}
/**
* 同步请求
* @param url 请求地址
* @return 同步 HttpTask
*/
public static SHttpTask sync(String url) {
return getHttp().sync(url);
}
/**
* Websocket 连接
* @param url 连接地址
* @return WebSocket 任务
*/
public static WHttpTask webSocket(String url) {
return getHttp().webSocket(url);
}
/**
* 根据标签取消HTTP任务,只要任务的标签包含指定的Tag就会被取消
* @param tag 标签
* @return 被取消的任务数量
*/
public static int cancel(String tag) {
return getHttp().cancel(tag);
}
/**
* @since 1.0.3
* 取消所有HTTP任务,包括同步和异步
*/
public void cancelAll() {
getHttp().cancelAll();
}
/**
* OkHttp 原生请求 (该请求不经过 预处理器)
* @param request 请求
* @return Call
*/
public static Call request(Request request) {
return getHttp().request(request);
}
/**
* Websocket(该请求不经过 预处理器)
* @param request 请求
* @param listener 监听器
* @return WebSocket
*/
public static WebSocket webSocket(Request request, WebSocketListener listener) {
return getHttp().webSocket(request, listener);
}
/**
* 获取任务执行器
* @return TaskExecutor
*/
public static TaskExecutor getExecutor() {
return getHttp().executor();
}
}