Repository navigation
Expand file tree
/
Copy pathOkHttps.java
More file actions
119 lines (102 loc) · 2.79 KB
/
Copy pathOkHttps.java
File metadata and controls
119 lines (102 loc) · 2.79 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
115
116
117
118
119
package com.ejlchina.okhttps;
import com.ejlchina.okhttps.internal.*;
import okhttp3.Call;
import okhttp3.Request;
import okhttp3.WebSocket;
import okhttp3.WebSocketListener;
/**
* OkHttps 工具类
* 支持 SPI 方式配置
*/
public final class OkHttps {
// 使用 x-www-form-urlencoded 表单格式
public static final String FORM = "form";
// 使用 form-data 表单格式(一般上传文件时使用)
public static final String FORM_DATA = "form-data";
public static final String JSON = "json";
public static final String XML = "xml";
public static final String PROTOBUF = "protobuf";
private static HTTP http;
private OkHttps() {}
static synchronized HTTP getHttp() {
if (http != null) {
return http;
}
HTTP.Builder builder = HTTP.builder();
ConvertProvider.inject(builder);
Config.config(builder);
http = builder.build();
return http;
}
/**
* 异步请求
* @param url 请求地址
* @return 异步 HttpTask
*/
public static AsyncHttpTask async(String url) {
return getHttp().async(url);
}
/**
* 同步请求
* @param url 请求地址
* @return 同步 HttpTask
*/
public static SyncHttpTask sync(String url) {
return getHttp().sync(url);
}
/**
* Websocket 连接
* @param url 连接地址
* @return WebSocket 任务
*/
public static WebSocketTask 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);
}
/**
* @since 2.2.0
* 新的构建器
* @return Builder
*/
public static HTTP.Builder newBuilder() {
return getHttp().newBuilder();
}
/**
* 获取任务执行器
* @return TaskExecutor
*/
public static TaskExecutor getExecutor() {
return getHttp().executor();
}
}