|
17 | 17 | public abstract class AbstractRequestExecutor<T, E> implements RequestExecutor<T, E> { |
18 | 18 |
|
19 | 19 | @Override |
20 | | - public T execute(RequestHttp requestHttp, String uri, E data) throws WxErrorException, IOException{ |
21 | | - if (requestHttp.getRequestHttpClient() instanceof CloseableHttpClient) { |
22 | | - //apache-http请求 |
23 | | - CloseableHttpClient httpClient = (CloseableHttpClient) requestHttp.getRequestHttpClient(); |
24 | | - HttpHost httpProxy = (HttpHost) requestHttp.getRequestHttpProxy(); |
25 | | - return executeApache(httpClient, httpProxy, uri, data); |
26 | | - } |
27 | | - if (requestHttp.getRequestHttpClient() instanceof HttpConnectionProvider) { |
28 | | - //jodd-http请求 |
29 | | - HttpConnectionProvider provider = (HttpConnectionProvider) requestHttp.getRequestHttpClient(); |
30 | | - ProxyInfo proxyInfo = (ProxyInfo) requestHttp.getRequestHttpProxy(); |
31 | | - return executeJodd(provider, proxyInfo, uri, data); |
32 | | - } else if (requestHttp.getRequestHttpClient() instanceof ConnectionPool) { |
33 | | - //okhttp请求 |
34 | | - ConnectionPool pool = (ConnectionPool) requestHttp.getRequestHttpClient(); |
35 | | - OkhttpProxyInfo proxyInfo = (OkhttpProxyInfo) requestHttp.getRequestHttpProxy(); |
36 | | - return executeOkhttp(pool, proxyInfo, uri, data); |
37 | | - } else { |
38 | | - //TODO 这里需要抛出异常,需要优化 |
39 | | - return null; |
| 20 | + public T execute(RequestHttp requestHttp, String uri, E data) throws WxErrorException, IOException { |
| 21 | + switch (requestHttp.getRequestType()) { |
| 22 | + case apacheHttp: { |
| 23 | + //apache-http请求 |
| 24 | + CloseableHttpClient httpClient = (CloseableHttpClient) requestHttp.getRequestHttpClient(); |
| 25 | + HttpHost httpProxy = (HttpHost) requestHttp.getRequestHttpProxy(); |
| 26 | + return executeApache(httpClient, httpProxy, uri, data); |
| 27 | + } |
| 28 | + case joddHttp: { |
| 29 | + //jodd-http请求 |
| 30 | + HttpConnectionProvider provider = (HttpConnectionProvider) requestHttp.getRequestHttpClient(); |
| 31 | + ProxyInfo proxyInfo = (ProxyInfo) requestHttp.getRequestHttpProxy(); |
| 32 | + return executeJodd(provider, proxyInfo, uri, data); |
| 33 | + } |
| 34 | + case okHttp: { |
| 35 | + //okhttp请求 |
| 36 | + ConnectionPool pool = (ConnectionPool) requestHttp.getRequestHttpClient(); |
| 37 | + OkhttpProxyInfo proxyInfo = (OkhttpProxyInfo) requestHttp.getRequestHttpProxy(); |
| 38 | + return executeOkhttp(pool, proxyInfo, uri, data); |
| 39 | + } |
| 40 | + default: |
| 41 | + //TODO 这里需要抛出异常,需要优化 |
| 42 | + return null; |
40 | 43 | } |
41 | 44 | } |
42 | 45 |
|
|
0 commit comments