Browse Source

Change link script and related file

When install in RN > 0.30 the link script will automatically add a
statement to Android HTTP response callback (in RNFetchBlobReq.java) so
that response body does not leaking.
Ben Hsieh 7 years ago
parent
commit
fabbd5e302

+ 1
- 1
src/android/src/main/java/com/RNFetchBlob/RNFetchBlobReq.java View File

@@ -451,7 +451,7 @@ public class RNFetchBlobReq extends BroadcastReceiver implements Runnable {
451 451
                 break;
452 452
         }
453 453
         removeTaskInfo();
454
-//        resp.close();
454
+        resp.close();
455 455
     }
456 456
 
457 457
     /**

+ 9
- 0
src/scripts/prelink.js View File

@@ -45,6 +45,15 @@ if(VERSION < 0.28) {
45 45
   console.log('adding OkHttp3 dependency to pre 0.28 project .. ok')
46 46
 }
47 47
 
48
+if(VERSION > 0.30) {
49
+  let dest = process.cwd() + '/node_modules/react-native-fetch-blob/android/src/main/java/com/RNFetchBlob/RNFetchBlobReq.java'
50
+  var main = fs.readFileSync(dest);
51
+  console.log('patching OkHttp3 3.4.1 API ..')
52
+  main = String(main).replace('// ${OKHTTP 3.4.1 ONLY STATEMENT}', "resp.close();");
53
+  fs.writeFileSync(dest, main);
54
+  console.log('patching OkHttp3 3.4.1 API .. ok')
55
+}
56
+
48 57
 // set file access permission for Android < 6.0
49 58
 fs.readFile(MANIFEST_PATH, function(err, data) {
50 59