Skip to content

Commit 2384b4b

Browse files
author
ecoolper
committed
添加枚举HttpType
1 parent a8dfccc commit 2384b4b

File tree

2 files changed

+29
-20
lines changed

2 files changed

+29
-20
lines changed

weixin-java-common/src/main/java/me/chanjar/weixin/common/util/http/AbstractRequestExecutor.java

Lines changed: 23 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -17,26 +17,29 @@
1717
public abstract class AbstractRequestExecutor<T, E> implements RequestExecutor<T, E> {
1818

1919
@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;
4043
}
4144
}
4245

weixin-java-common/src/main/java/me/chanjar/weixin/common/util/http/RequestHttp.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,10 @@ public interface RequestHttp<H,P> {
1717
*/
1818
P getRequestHttpProxy();
1919

20+
/**
21+
*
22+
* @return
23+
*/
24+
HttpType getRequestType();
25+
2026
}

0 commit comments

Comments
 (0)