4141
4242/** 
4343 * Created by bailong on 15/11/12. 
44+  * 
45+  * @hidden 
4446 */ 
4547public  final  class  Client  {
48+     /** 
49+      * HTTP 请求头:Content-Type 
50+      */ 
4651    public  static  final  String  ContentTypeHeader  = "Content-Type" ;
52+ 
53+     /** 
54+      * HTTP 请求默认的 MimeType 
55+      */ 
4756    public  static  final  String  DefaultMime  = "application/octet-stream" ;
57+ 
58+     /** 
59+      * HTTP 请求 Json 的 MimeType 
60+      */ 
4861    public  static  final  String  JsonMime  = "application/json" ;
62+ 
63+     /** 
64+      * HTTP 请求 FormMime 的 MimeType 
65+      */ 
4966    public  static  final  String  FormMime  = "application/x-www-form-urlencoded" ;
67+ 
5068    private  final  UrlConverter  converter ;
5169    private  OkHttpClient  httpClient ;
5270
71+     /** 
72+      * 构造方法 
73+      */ 
5374    public  Client () {
5475        this (null , 10 , 30 , null , null );
5576    }
5677
78+     /** 
79+      * 构造函数 
80+      * 
81+      * @param proxy           请求代理 
82+      * @param connectTimeout  请求建立连接超时时间 
83+      * @param responseTimeout 请求接收数据超时时间 
84+      * @param converter       请求 Url 拦截器 
85+      * @param dns             请求的 Dns 解析器 
86+      */ 
5787    public  Client (ProxyConfiguration  proxy , int  connectTimeout , int  responseTimeout , UrlConverter  converter , final  Dns  dns ) {
5888        this .converter  = converter ;
5989        OkHttpClient .Builder  builder  = new  OkHttpClient .Builder ();
@@ -71,9 +101,9 @@ public List<InetAddress> lookup(String hostname) throws UnknownHostException {
71101                List <IDnsNetworkAddress > networkAddressList  = DnsPrefetcher .getInstance ().getInetAddressByHost (hostname );
72102                if  (networkAddressList  != null  && networkAddressList .size () > 0 ) {
73103                    List <InetAddress > inetAddressList  = new  ArrayList <>();
74-                     for  (IDnsNetworkAddress  networkAddress  : networkAddressList ){
104+                     for  (IDnsNetworkAddress  networkAddress  : networkAddressList )  {
75105                        InetAddress  address  = null ;
76-                         if  (networkAddress .getIpValue () != null  && (address  = InetAddress .getByName (networkAddress .getIpValue ())) != null ){
106+                         if  (networkAddress .getIpValue () != null  && (address  = InetAddress .getByName (networkAddress .getIpValue ())) != null )  {
77107                            inetAddressList .add (address );
78108                        }
79109                    }
@@ -210,6 +240,15 @@ public void run() {
210240        });
211241    }
212242
243+     /** 
244+      * 异步请求 
245+      * 
246+      * @param requestBuilder 请求构造器 
247+      * @param headers        请求头 
248+      * @param upToken        上传 Token 
249+      * @param totalSize      请求体大小 
250+      * @param complete       结束回调 
251+      */ 
213252    public  void  asyncSend (final  Request .Builder  requestBuilder , StringMap  headers , final  UpToken  upToken ,
214253                          final  long  totalSize , final  CompletionHandler  complete ) {
215254        if  (headers  != null ) {
@@ -259,13 +298,39 @@ public void onResponse(Call call, okhttp3.Response response) throws IOException
259298        });
260299    }
261300
301+     /** 
302+      * 异步 POST 请求 
303+      * 
304+      * @param url               请求 url 
305+      * @param body              请求 body 
306+      * @param headers           请求 header 
307+      * @param upToken           上传 token 
308+      * @param totalSize         请求总大小 
309+      * @param progressHandler   请求进度回调 
310+      * @param completionHandler 结束回调 
311+      * @param c                 取消回调 
312+      */ 
262313    public  void  asyncPost (String  url , byte [] body ,
263314                          StringMap  headers , final  UpToken  upToken ,
264315                          final  long  totalSize , ProgressHandler  progressHandler ,
265316                          CompletionHandler  completionHandler , UpCancellationSignal  c ) {
266317        asyncPost (url , body , 0 , body .length , headers , upToken , totalSize , progressHandler , completionHandler , c );
267318    }
268319
320+     /** 
321+      * 异步 POST 请求 
322+      * 
323+      * @param url               请求 Url 
324+      * @param body              请求体 
325+      * @param offset            请求体偏移量 
326+      * @param size              请求体大小 
327+      * @param headers           请求 Header 
328+      * @param upToken           上传 Token 
329+      * @param totalSize         请求体总大小 
330+      * @param progressHandler   进度回调 
331+      * @param completionHandler 完成回调 
332+      * @param c                 取消回调 
333+      */ 
269334    public  void  asyncPost (String  url , byte [] body , int  offset , int  size ,
270335                          StringMap  headers , final  UpToken  upToken ,
271336                          final  long  totalSize , ProgressHandler  progressHandler ,
@@ -295,6 +360,16 @@ public void asyncPost(String url, byte[] body, int offset, int size,
295360        asyncSend (requestBuilder , headers , upToken , totalSize , completionHandler );
296361    }
297362
363+     /** 
364+      * 异步表单请求 
365+      * 
366+      * @param url               请求 Url 
367+      * @param args              请求参数 
368+      * @param upToken           上传的 Token 
369+      * @param progressHandler   进度回调 
370+      * @param completionHandler 完成回答 
371+      * @param c                 取消回调 
372+      */ 
298373    public  void  asyncMultipartPost (String  url ,
299374                                   PostArgs  args ,
300375                                   final  UpToken  upToken ,
@@ -343,12 +418,27 @@ public void accept(String key, Object value) {
343418        asyncSend (requestBuilder , null , upToken , totalSize , completionHandler );
344419    }
345420
421+     /** 
422+      * 异步 GET 请求 
423+      * 
424+      * @param url               请求 Url 
425+      * @param headers           请求 Header 
426+      * @param upToken           上传的 Token 
427+      * @param completionHandler 请求完成回调 
428+      */ 
346429    public  void  asyncGet (String  url , StringMap  headers , final  UpToken  upToken ,
347430                         CompletionHandler  completionHandler ) {
348431        Request .Builder  requestBuilder  = new  Request .Builder ().get ().url (url );
349432        asyncSend (requestBuilder , headers , upToken , 0 , completionHandler );
350433    }
351434
435+     /** 
436+      * 同步 GET 请求 
437+      * 
438+      * @param url     请求 Url 
439+      * @param headers 请求 Header 
440+      * @return ResponseInfo 
441+      */ 
352442    public  ResponseInfo  syncGet (String  url , StringMap  headers ) {
353443        Request .Builder  requestBuilder  = new  Request .Builder ().get ().url (url );
354444        return  send (requestBuilder , headers );
@@ -379,8 +469,15 @@ public void accept(String key, Object value) {
379469        return  buildResponseInfo (res , tag .ip , tag .duration , null , 0 );
380470    }
381471
382-     public  ResponseInfo  syncMultipartPost (String  url , PostArgs  args ,
383-                                           final  UpToken  upToken ) {
472+     /** 
473+      * 同步表单请求 
474+      * 
475+      * @param url     请求 Url 
476+      * @param args    请求参数 
477+      * @param upToken 上传 Token 
478+      * @return ResponseInfo 
479+      */ 
480+     public  ResponseInfo  syncMultipartPost (String  url , PostArgs  args , final  UpToken  upToken ) {
384481        RequestBody  file ;
385482        long  totalSize ;
386483        if  (args .file  != null ) {
@@ -414,6 +511,15 @@ public void accept(String key, Object value) {
414511        return  syncSend (requestBuilder , null , upToken , totalSize );
415512    }
416513
514+     /** 
515+      * 同步请求 
516+      * 
517+      * @param requestBuilder 请求构造器 
518+      * @param headers        请求 Header 
519+      * @param upToken        上传的 Token 
520+      * @param totalSize      请求体大小 
521+      * @return ResponseInfo 
522+      */ 
417523    public  ResponseInfo  syncSend (final  Request .Builder  requestBuilder , StringMap  headers ,
418524                                 final  UpToken  upToken , final  long  totalSize ) {
419525        if  (headers  != null ) {
0 commit comments