Ver código fonte

Change timeout unit to millisecond instead of second. #68

Ben Hsieh 8 anos atrás
pai
commit
e6bafa40bb

+ 1
- 1
src/android/src/main/java/com/RNFetchBlob/RNFetchBlobConfig.java Ver arquivo

17
     public String key;
17
     public String key;
18
     public String mime;
18
     public String mime;
19
     public Boolean auto;
19
     public Boolean auto;
20
-    public long timeout = -1;
20
+    public long timeout = 30000;
21
 
21
 
22
     RNFetchBlobConfig(ReadableMap options) {
22
     RNFetchBlobConfig(ReadableMap options) {
23
         if(options == null)
23
         if(options == null)

+ 1
- 0
src/android/src/main/java/com/RNFetchBlob/RNFetchBlobFS.java Ver arquivo

20
 import com.facebook.react.bridge.ReadableArray;
20
 import com.facebook.react.bridge.ReadableArray;
21
 import com.facebook.react.bridge.WritableArray;
21
 import com.facebook.react.bridge.WritableArray;
22
 import com.facebook.react.bridge.WritableMap;
22
 import com.facebook.react.bridge.WritableMap;
23
+import com.facebook.react.bridge.WritableNativeArray;
23
 import com.facebook.react.modules.core.DeviceEventManagerModule;
24
 import com.facebook.react.modules.core.DeviceEventManagerModule;
24
 
25
 
25
 import java.io.File;
26
 import java.io.File;

+ 5
- 3
src/android/src/main/java/com/RNFetchBlob/RNFetchBlobReq.java Ver arquivo

34
 import java.util.concurrent.TimeUnit;
34
 import java.util.concurrent.TimeUnit;
35
 
35
 
36
 import okhttp3.Call;
36
 import okhttp3.Call;
37
+import okhttp3.ConnectionPool;
37
 import okhttp3.Headers;
38
 import okhttp3.Headers;
38
 import okhttp3.Interceptor;
39
 import okhttp3.Interceptor;
39
 import okhttp3.MediaType;
40
 import okhttp3.MediaType;
67
     public static HashMap<String, Call> taskTable = new HashMap<>();
68
     public static HashMap<String, Call> taskTable = new HashMap<>();
68
     static HashMap<String, Boolean> progressReport = new HashMap<>();
69
     static HashMap<String, Boolean> progressReport = new HashMap<>();
69
     static HashMap<String, Boolean> uploadProgressReport = new HashMap<>();
70
     static HashMap<String, Boolean> uploadProgressReport = new HashMap<>();
71
+    static ConnectionPool pool = new ConnectionPool(5, 30000, TimeUnit.MILLISECONDS);
70
 
72
 
71
     MediaType contentType = RNFetchBlobConst.MIME_OCTET;
73
     MediaType contentType = RNFetchBlobConst.MIME_OCTET;
72
     ReactApplicationContext ctx;
74
     ReactApplicationContext ctx;
303
             });
305
             });
304
 
306
 
305
             if(options.timeout > 0) {
307
             if(options.timeout > 0) {
306
-                clientBuilder.connectTimeout(options.timeout, TimeUnit.SECONDS);
307
-                clientBuilder.readTimeout(options.timeout, TimeUnit.SECONDS);
308
+                clientBuilder.connectTimeout(options.timeout, TimeUnit.MILLISECONDS);
309
+                clientBuilder.readTimeout(options.timeout, TimeUnit.MILLISECONDS);
308
             }
310
             }
309
-
311
+            clientBuilder.connectionPool(pool);
310
             OkHttpClient client = clientBuilder.build();
312
             OkHttpClient client = clientBuilder.build();
311
             Call call =  client.newCall(req);
313
             Call call =  client.newCall(req);
312
             taskTable.put(taskId, call);
314
             taskTable.put(taskId, call);

+ 1
- 1
src/ios/RNFetchBlobNetwork.m Ver arquivo

137
     NSURLSessionConfiguration *defaultConfigObject = [NSURLSessionConfiguration defaultSessionConfiguration];
137
     NSURLSessionConfiguration *defaultConfigObject = [NSURLSessionConfiguration defaultSessionConfiguration];
138
     if([options valueForKey:@"timeout"] != nil)
138
     if([options valueForKey:@"timeout"] != nil)
139
     {
139
     {
140
-        defaultConfigObject.timeoutIntervalForRequest = [[options valueForKey:@"timeout"] floatValue];
140
+        defaultConfigObject.timeoutIntervalForRequest = [[options valueForKey:@"timeout"] floatValue]/1000;
141
     }
141
     }
142
     session = [NSURLSession sessionWithConfiguration:defaultConfigObject delegate:self delegateQueue:taskQueue];
142
     session = [NSURLSession sessionWithConfiguration:defaultConfigObject delegate:self delegateQueue:taskQueue];
143
     if(path != nil || [self.options valueForKey:CONFIG_USE_TEMP]!= nil)
143
     if(path != nil || [self.options valueForKey:CONFIG_USE_TEMP]!= nil)

+ 1
- 1
src/polyfill/XMLHttpRequest.js Ver arquivo

339
   }
339
   }
340
 
340
 
341
   set timeout(val) {
341
   set timeout(val) {
342
+    this._timeout = val*1000
342
     log.verbose('set timeout', this._timeout)
343
     log.verbose('set timeout', this._timeout)
343
-    this._timeout = val
344
   }
344
   }
345
 
345
 
346
   get timeout() {
346
   get timeout() {