MCPcopy Index your code
hub / github.com/wyouflf/xUtils3 / HttpManagerImpl

Class HttpManagerImpl

xutils/src/main/java/org/xutils/http/HttpManagerImpl.java:13–109  ·  view source on GitHub ↗

Created by wyouflf on 15/7/23. HttpManager实现

Source from the content-addressed store, hash-verified

11 * HttpManager实现
12 */
13public final class HttpManagerImpl implements HttpManager {
14
15 private static final Object lock = new Object();
16 private static volatile HttpManagerImpl instance;
17
18 private HttpManagerImpl() {
19 }
20
21 public static void registerInstance() {
22 if (instance == null) {
23 synchronized (lock) {
24 if (instance == null) {
25 instance = new HttpManagerImpl();
26 }
27 }
28 }
29 x.Ext.setHttpManager(instance);
30 }
31
32 @Override
33 public <T> Callback.Cancelable get(RequestParams entity, Callback.CommonCallback<T> callback) {
34 return request(HttpMethod.GET, entity, callback);
35 }
36
37 @Override
38 public <T> Callback.Cancelable post(RequestParams entity, Callback.CommonCallback<T> callback) {
39 return request(HttpMethod.POST, entity, callback);
40 }
41
42 @Override
43 public <T> Callback.Cancelable request(HttpMethod method, RequestParams entity, Callback.CommonCallback<T> callback) {
44 entity.setMethod(method);
45 Callback.Cancelable cancelable = null;
46 if (callback instanceof Callback.Cancelable) {
47 cancelable = (Callback.Cancelable) callback;
48 }
49 HttpTask<T> task = new HttpTask<T>(entity, cancelable, callback);
50 return x.task().start(task);
51 }
52
53 @Override
54 public <T> T getSync(RequestParams entity, Class<T> resultType) throws Throwable {
55 return requestSync(HttpMethod.GET, entity, resultType);
56 }
57
58 @Override
59 public <T> T postSync(RequestParams entity, Class<T> resultType) throws Throwable {
60 return requestSync(HttpMethod.POST, entity, resultType);
61 }
62
63 @Override
64 public <T> T requestSync(HttpMethod method, RequestParams entity, Class<T> resultType) throws Throwable {
65 DefaultSyncCallback<T> callback = new DefaultSyncCallback<T>(resultType);
66 return requestSync(method, entity, callback);
67 }
68
69 @Override
70 public <T> T requestSync(HttpMethod method, RequestParams entity, Callback.TypedCallback<T> callback) throws Throwable {

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected