|
1 | 1 | package cn.jpush.api.common.connection; |
2 | 2 |
|
| 3 | +import cn.jpush.api.common.resp.APIConnectionException; |
| 4 | +import cn.jpush.api.common.resp.APIRequestException; |
| 5 | +import cn.jpush.api.common.resp.ResponseWrapper; |
| 6 | +import org.slf4j.Logger; |
| 7 | +import org.slf4j.LoggerFactory; |
| 8 | + |
| 9 | +import javax.net.ssl.*; |
3 | 10 | import java.io.IOException; |
4 | 11 | import java.io.InputStream; |
5 | 12 | import java.io.InputStreamReader; |
6 | 13 | import java.io.OutputStream; |
7 | | -import java.net.Authenticator; |
8 | | -import java.net.HttpURLConnection; |
9 | | -import java.net.PasswordAuthentication; |
10 | | -import java.net.SocketTimeoutException; |
11 | | -import java.net.URL; |
| 14 | +import java.net.*; |
12 | 15 | import java.security.cert.CertificateException; |
13 | 16 | import java.security.cert.X509Certificate; |
14 | 17 |
|
15 | | -import javax.net.ssl.HostnameVerifier; |
16 | | -import javax.net.ssl.HttpsURLConnection; |
17 | | -import javax.net.ssl.SSLContext; |
18 | | -import javax.net.ssl.SSLSession; |
19 | | -import javax.net.ssl.TrustManager; |
20 | | -import javax.net.ssl.X509TrustManager; |
21 | | - |
22 | | -import org.slf4j.Logger; |
23 | | -import org.slf4j.LoggerFactory; |
24 | | - |
25 | | -import cn.jpush.api.common.resp.APIConnectionException; |
26 | | -import cn.jpush.api.common.resp.APIRequestException; |
27 | | -import cn.jpush.api.common.resp.ResponseWrapper; |
28 | | - |
29 | 18 | /** |
30 | 19 | * The implementation has no connection pool mechanism, used origin java connection. |
31 | 20 | * |
@@ -68,13 +57,23 @@ public NativeHttpClient(String authCode, int maxRetryTimes, HttpProxy proxy) { |
68 | 57 |
|
69 | 58 | public ResponseWrapper sendGet(String url) |
70 | 59 | throws APIConnectionException, APIRequestException { |
71 | | - return doRequest(url, null, RequestMethod.GET); |
| 60 | + return sendGet(url, null); |
| 61 | + } |
| 62 | + |
| 63 | + public ResponseWrapper sendGet(String url, String content) |
| 64 | + throws APIConnectionException, APIRequestException { |
| 65 | + return doRequest(url, content, RequestMethod.GET); |
72 | 66 | } |
73 | 67 |
|
74 | 68 | public ResponseWrapper sendDelete(String url) |
75 | 69 | throws APIConnectionException, APIRequestException { |
76 | | - return doRequest(url, null, RequestMethod.DELETE); |
| 70 | + return sendDelete(url, null); |
77 | 71 | } |
| 72 | + |
| 73 | + public ResponseWrapper sendDelete(String url, String content) |
| 74 | + throws APIConnectionException, APIRequestException { |
| 75 | + return doRequest(url, content, RequestMethod.DELETE); |
| 76 | + } |
78 | 77 |
|
79 | 78 | public ResponseWrapper sendPost(String url, String content) |
80 | 79 | throws APIConnectionException, APIRequestException { |
@@ -117,7 +116,6 @@ private ResponseWrapper _doRequest(String url, String content, |
117 | 116 | if (null != content) { |
118 | 117 | LOG.debug("Request Content - " + content); |
119 | 118 | } |
120 | | - |
121 | 119 | HttpURLConnection conn = null; |
122 | 120 | OutputStream out = null; |
123 | 121 | StringBuffer sb = new StringBuffer(); |
@@ -146,17 +144,15 @@ private ResponseWrapper _doRequest(String url, String content, |
146 | 144 | conn.setRequestProperty("Authorization", _authCode); |
147 | 145 | conn.setRequestProperty("Content-Type", CONTENT_TYPE_JSON); |
148 | 146 |
|
149 | | - if (RequestMethod.GET == method) { |
150 | | - conn.setDoOutput(false); |
151 | | - } else if (RequestMethod.DELETE == method) { |
152 | | - conn.setDoOutput(false); |
153 | | - } else if (RequestMethod.POST == method || RequestMethod.PUT == method) { |
154 | | - conn.setDoOutput(true); |
155 | | - byte[] data = content.getBytes(CHARSET); |
| 147 | + if(null == content) { |
| 148 | + conn.setDoOutput(false); |
| 149 | + } else { |
| 150 | + conn.setDoOutput(true); |
| 151 | + byte[] data = content.getBytes(CHARSET); |
156 | 152 | conn.setRequestProperty("Content-Length", String.valueOf(data.length)); |
157 | | - out = conn.getOutputStream(); |
| 153 | + out = conn.getOutputStream(); |
158 | 154 | out.write(data); |
159 | | - out.flush(); |
| 155 | + out.flush(); |
160 | 156 | } |
161 | 157 |
|
162 | 158 | int status = conn.getResponseCode(); |
|
0 commit comments