Created by wyouflf on 15/7/23. HttpManager实现
| 11 | * HttpManager实现 |
| 12 | */ |
| 13 | public 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 { |
nothing calls this directly
no outgoing calls
no test coverage detected