44import cn .jiguang .common .resp .APIConnectionException ;
55import cn .jiguang .common .resp .APIRequestException ;
66import cn .jiguang .common .resp .ResponseWrapper ;
7- import okhttp3 .*;
7+ import cn .jiguang .common .utils .StringUtils ;
8+ import okhttp3 .MediaType ;
9+ import okhttp3 .OkHttpClient ;
10+ import okhttp3 .Request ;
11+ import okhttp3 .RequestBody ;
812import org .slf4j .Logger ;
913import org .slf4j .LoggerFactory ;
1014
@@ -30,6 +34,8 @@ public class Http2Client implements IHttpClient {
3034 private String _authCode ;
3135 private HttpProxy _proxy ;
3236
37+ private final String _encryptType ;
38+
3339 public Http2Client (String authCode , HttpProxy proxy , ClientConfig config ) {
3440 _maxRetryTimes = config .getMaxRetryTimes ();
3541 _connectionTimeout = config .getConnectionTimeout ();
@@ -38,7 +44,7 @@ public Http2Client(String authCode, HttpProxy proxy, ClientConfig config) {
3844
3945 _authCode = authCode ;
4046 _proxy = proxy ;
41-
47+ _encryptType = config . getEncryptType ();
4248 String message = MessageFormat .format ("Created instance with "
4349 + "connectionTimeout {0}, readTimeout {1}, maxRetryTimes {2}, SSL Version {3}" ,
4450 _connectionTimeout , _readTimeout , _maxRetryTimes , _sslVer );
@@ -63,14 +69,17 @@ public ResponseWrapper sendGet(String url, String content) throws APIConnectionE
6369 }
6470
6571 try {
66- Request request = new Request .Builder ().url (url )
72+ Request . Builder requestBuilder = new Request .Builder ().url (url )
6773 .header ("User-Agent" , JPUSH_USER_AGENT )
6874 .addHeader ("Accept-Charset" , CHARSET )
6975 .addHeader ("Charset" , CHARSET )
7076 .addHeader ("Connection" , "Keep-Alive" )
7177 .addHeader ("Authorization" , _authCode )
72- .addHeader ("Content-Type" , CONTENT_TYPE_JSON )
73- .build ();
78+ .addHeader ("Content-Type" , CONTENT_TYPE_JSON );
79+ if (!StringUtils .isEmpty (_encryptType )) {
80+ requestBuilder .addHeader ("X-Encrypt-Type" , _encryptType );
81+ }
82+ Request request = requestBuilder .build ();
7483 if (null != content ) {
7584 byte [] data = content .getBytes (CHARSET );
7685 request .newBuilder ().header ("Content-Length" , String .valueOf (data .length ));
@@ -159,14 +168,18 @@ public ResponseWrapper sendDelete(String url) throws APIConnectionException, API
159168 LOG .debug ("Send request - Delete url:" + " " + url );
160169 Request request ;
161170 try {
162- request = new Request .Builder ().url (url )
171+ Request . Builder requestBuilder = new Request .Builder ().url (url )
163172 .header ("User-Agent" , JPUSH_USER_AGENT )
164173 .addHeader ("Accept-Charset" , CHARSET )
165174 .addHeader ("Charset" , CHARSET )
166175 .addHeader ("Connection" , "Keep-Alive" )
167176 .addHeader ("Authorization" , _authCode )
168177 .addHeader ("Content-Type" , CONTENT_TYPE_JSON )
169- .delete ().build ();
178+ .delete ();
179+ if (!StringUtils .isEmpty (_encryptType )) {
180+ requestBuilder .addHeader ("X-Encrypt-Type" , _encryptType );
181+ }
182+ request = requestBuilder .build ();
170183 handleResponse (wrapper , request );
171184 } catch (UnsupportedEncodingException e ) {
172185 e .printStackTrace ();
@@ -183,14 +196,18 @@ public ResponseWrapper sendDelete(String url, String content) throws APIConnecti
183196 Request request ;
184197 try {
185198 RequestBody body = RequestBody .create (JSON , content );
186- request = new Request .Builder ().url (url )
199+ Request . Builder requestBuilder = new Request .Builder ().url (url )
187200 .header ("User-Agent" , JPUSH_USER_AGENT )
188201 .addHeader ("Accept-Charset" , CHARSET )
189202 .addHeader ("Charset" , CHARSET )
190203 .addHeader ("Connection" , "Keep-Alive" )
191204 .addHeader ("Authorization" , _authCode )
192205 .addHeader ("Content-Type" , CONTENT_TYPE_JSON )
193- .delete (body ).build ();
206+ .delete (body );
207+ if (!StringUtils .isEmpty (_encryptType )) {
208+ requestBuilder .addHeader ("X-Encrypt-Type" , _encryptType );
209+ }
210+ request = requestBuilder .build ();
194211 handleResponse (wrapper , request );
195212 } catch (UnsupportedEncodingException e ) {
196213 e .printStackTrace ();
@@ -206,14 +223,18 @@ public ResponseWrapper sendPost(String url, String content) throws APIConnection
206223 ResponseWrapper wrapper = new ResponseWrapper ();
207224 try {
208225 RequestBody body = RequestBody .create (JSON , content );
209- Request request = new Request .Builder ().url (url )
226+ Request . Builder requestBuilder = new Request .Builder ().url (url )
210227 .header ("User-Agent" , JPUSH_USER_AGENT )
211228 .addHeader ("Accept-Charset" , CHARSET )
212229 .addHeader ("Charset" , CHARSET )
213230 .addHeader ("Connection" , "Keep-Alive" )
214231 .addHeader ("Authorization" , _authCode )
215232 .addHeader ("Content-Type" , CONTENT_TYPE_JSON )
216- .post (body ).build ();
233+ .post (body );
234+ if (!StringUtils .isEmpty (_encryptType )) {
235+ requestBuilder .addHeader ("X-Encrypt-Type" , _encryptType );
236+ }
237+ Request request = requestBuilder .build ();
217238 handleResponse (wrapper , request );
218239 } catch (UnsupportedEncodingException e ) {
219240 e .printStackTrace ();
@@ -229,14 +250,18 @@ public ResponseWrapper sendPut(String url, String content) throws APIConnectionE
229250 ResponseWrapper wrapper = new ResponseWrapper ();
230251 try {
231252 RequestBody body = RequestBody .create (JSON , content );
232- Request request = new Request .Builder ().url (url )
253+ Request . Builder requestBuilder = new Request .Builder ().url (url )
233254 .header ("User-Agent" , JPUSH_USER_AGENT )
234255 .addHeader ("Accept-Charset" , CHARSET )
235256 .addHeader ("Charset" , CHARSET )
236257 .addHeader ("Connection" , "Keep-Alive" )
237258 .addHeader ("Authorization" , _authCode )
238259 .addHeader ("Content-Type" , CONTENT_TYPE_JSON )
239- .put (body ).build ();
260+ .put (body );
261+ if (!StringUtils .isEmpty (_encryptType )) {
262+ requestBuilder .addHeader ("X-Encrypt-Type" , _encryptType );
263+ }
264+ Request request = requestBuilder .build ();
240265 handleResponse (wrapper , request );
241266 } catch (UnsupportedEncodingException e ) {
242267 e .printStackTrace ();
0 commit comments