| 
				
			 | 
			
			
				@@ -32,8 +32,8 @@ NSOperationQueue *taskQueue; 
			 | 
		
	
		
			
			| 
				32
			 | 
			
				32
			 | 
			
			
				 @synthesize callback; 
			 | 
		
	
		
			
			| 
				33
			 | 
			
				33
			 | 
			
			
				 @synthesize bridge; 
			 | 
		
	
		
			
			| 
				34
			 | 
			
				34
			 | 
			
			
				 @synthesize options; 
			 | 
		
	
		
			
			| 
				35
			 | 
			
				
			 | 
			
			
				-@synthesize fileTaskCompletionHandler; 
			 | 
		
	
		
			
			| 
				36
			 | 
			
				
			 | 
			
			
				-@synthesize dataTaskCompletionHandler; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				35
			 | 
			
			
				+//@synthesize fileTaskCompletionHandler; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				36
			 | 
			
			
				+//@synthesize dataTaskCompletionHandler; 
			 | 
		
	
		
			
			| 
				37
			 | 
			
				37
			 | 
			
			
				 @synthesize error; 
			 | 
		
	
		
			
			| 
				38
			 | 
			
				38
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				39
			 | 
			
				39
			 | 
			
			
				  
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -88,7 +88,8 @@ NSOperationQueue *taskQueue; 
			 | 
		
	
		
			
			| 
				88
			 | 
			
				88
			 | 
			
			
				     // file will be stored at a specific path 
			 | 
		
	
		
			
			| 
				89
			 | 
			
				89
			 | 
			
			
				     if( path != nil) { 
			 | 
		
	
		
			
			| 
				90
			 | 
			
				90
			 | 
			
			
				          
			 | 
		
	
		
			
			| 
				91
			 | 
			
				
			 | 
			
			
				-        self.fileTaskCompletionHandler = ^(NSURL * _Nullable location, NSURLResponse * _Nullable response, NSError * _Nullable error) { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				91
			 | 
			
			
				+//        self.fileTaskCompletionHandler = ; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				92
			 | 
			
			
				+        NSURLSessionDownloadTask * task = [session downloadTaskWithRequest:req completionHandler:^(NSURL * _Nullable location, NSURLResponse * _Nullable response, NSError * _Nullable error) { 
			 | 
		
	
		
			
			| 
				92
			 | 
			
				93
			 | 
			
			
				             if(error != nil) { 
			 | 
		
	
		
			
			| 
				93
			 | 
			
				94
			 | 
			
			
				                 callback(@[[error localizedDescription]]); 
			 | 
		
	
		
			
			| 
				94
			 | 
			
				95
			 | 
			
			
				                 return; 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -102,14 +103,16 @@ NSOperationQueue *taskQueue; 
			 | 
		
	
		
			
			| 
				102
			 | 
			
				103
			 | 
			
			
				                 return; 
			 | 
		
	
		
			
			| 
				103
			 | 
			
				104
			 | 
			
			
				             } 
			 | 
		
	
		
			
			| 
				104
			 | 
			
				105
			 | 
			
			
				             callback(@[[NSNull null], path]); 
			 | 
		
	
		
			
			| 
				105
			 | 
			
				
			 | 
			
			
				-        }; 
			 | 
		
	
		
			
			| 
				106
			 | 
			
				
			 | 
			
			
				-        NSURLSessionDownloadTask * task = [session downloadTaskWithRequest:req completionHandler:fileTaskCompletionHandler]; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				106
			 | 
			
			
				+            // prevent memory leaks 
			 | 
		
	
		
			
			| 
				
			 | 
			
				107
			 | 
			
			
				+            self.respData = nil; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				108
			 | 
			
			
				+        }]; 
			 | 
		
	
		
			
			| 
				107
			 | 
			
				109
			 | 
			
			
				         [task resume]; 
			 | 
		
	
		
			
			| 
				108
			 | 
			
				110
			 | 
			
			
				     } 
			 | 
		
	
		
			
			| 
				109
			 | 
			
				111
			 | 
			
			
				     // file will be stored at tmp path 
			 | 
		
	
		
			
			| 
				110
			 | 
			
				112
			 | 
			
			
				     else if ( [self.options valueForKey:CONFIG_USE_TEMP]!= nil ) { 
			 | 
		
	
		
			
			| 
				111
			 | 
			
				113
			 | 
			
			
				          
			 | 
		
	
		
			
			| 
				112
			 | 
			
				
			 | 
			
			
				-        self.fileTaskCompletionHandler = ^(NSURL * _Nullable location, NSURLResponse * _Nullable response, NSError * _Nullable error) { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				114
			 | 
			
			
				+//        self.fileTaskCompletionHandler; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				115
			 | 
			
			
				+        NSURLSessionDownloadTask * task = [session downloadTaskWithRequest:req completionHandler:^(NSURL * _Nullable location, NSURLResponse * _Nullable response, NSError * _Nullable error) { 
			 | 
		
	
		
			
			| 
				113
			 | 
			
				116
			 | 
			
			
				             if(error != nil) { 
			 | 
		
	
		
			
			| 
				114
			 | 
			
				117
			 | 
			
			
				                 callback(@[[error localizedDescription]]); 
			 | 
		
	
		
			
			| 
				115
			 | 
			
				118
			 | 
			
			
				                 return; 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -124,13 +127,15 @@ NSOperationQueue *taskQueue; 
			 | 
		
	
		
			
			| 
				124
			 | 
			
				127
			 | 
			
			
				                 return; 
			 | 
		
	
		
			
			| 
				125
			 | 
			
				128
			 | 
			
			
				             } 
			 | 
		
	
		
			
			| 
				126
			 | 
			
				129
			 | 
			
			
				             callback(@[[NSNull null], tmpPath]); 
			 | 
		
	
		
			
			| 
				127
			 | 
			
				
			 | 
			
			
				-        }; 
			 | 
		
	
		
			
			| 
				128
			 | 
			
				
			 | 
			
			
				-        NSURLSessionDownloadTask * task = [session downloadTaskWithRequest:req completionHandler:fileTaskCompletionHandler]; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				130
			 | 
			
			
				+            // prevent memory leaks 
			 | 
		
	
		
			
			| 
				
			 | 
			
				131
			 | 
			
			
				+            self.respData = nil; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				132
			 | 
			
			
				+        }]; 
			 | 
		
	
		
			
			| 
				129
			 | 
			
				133
			 | 
			
			
				         [task resume]; 
			 | 
		
	
		
			
			| 
				130
			 | 
			
				134
			 | 
			
			
				     } 
			 | 
		
	
		
			
			| 
				131
			 | 
			
				135
			 | 
			
			
				     // base64 response 
			 | 
		
	
		
			
			| 
				132
			 | 
			
				136
			 | 
			
			
				     else { 
			 | 
		
	
		
			
			| 
				133
			 | 
			
				
			 | 
			
			
				-        self.dataTaskCompletionHandler = ^(NSData * _Nullable resp, NSURLResponse * _Nullable response, NSError * _Nullable error) { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				137
			 | 
			
			
				+//        self.dataTaskCompletionHandler = ; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				138
			 | 
			
			
				+        NSURLSessionDataTask * task = [session dataTaskWithRequest:req completionHandler:^(NSData * _Nullable resp, NSURLResponse * _Nullable response, NSError * _Nullable error) { 
			 | 
		
	
		
			
			| 
				134
			 | 
			
				139
			 | 
			
			
				             if(error != nil) { 
			 | 
		
	
		
			
			| 
				135
			 | 
			
				140
			 | 
			
			
				                 callback(@[[error localizedDescription]]); 
			 | 
		
	
		
			
			| 
				136
			 | 
			
				141
			 | 
			
			
				                 return; 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -138,8 +143,7 @@ NSOperationQueue *taskQueue; 
			 | 
		
	
		
			
			| 
				138
			 | 
			
				143
			 | 
			
			
				             else { 
			 | 
		
	
		
			
			| 
				139
			 | 
			
				144
			 | 
			
			
				                 callback(@[[NSNull null], [resp base64EncodedStringWithOptions:0]]); 
			 | 
		
	
		
			
			| 
				140
			 | 
			
				145
			 | 
			
			
				             } 
			 | 
		
	
		
			
			| 
				141
			 | 
			
				
			 | 
			
			
				-        }; 
			 | 
		
	
		
			
			| 
				142
			 | 
			
				
			 | 
			
			
				-        NSURLSessionDataTask * task = [session dataTaskWithRequest:req completionHandler:dataTaskCompletionHandler]; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				146
			 | 
			
			
				+        }]; 
			 | 
		
	
		
			
			| 
				143
			 | 
			
				147
			 | 
			
			
				         [task resume]; 
			 | 
		
	
		
			
			| 
				144
			 | 
			
				148
			 | 
			
			
				     } 
			 | 
		
	
		
			
			| 
				145
			 | 
			
				149
			 | 
			
			
				 } 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -205,17 +209,17 @@ NSOperationQueue *taskQueue; 
			 | 
		
	
		
			
			| 
				205
			 | 
			
				209
			 | 
			
			
				      
			 | 
		
	
		
			
			| 
				206
			 | 
			
				210
			 | 
			
			
				 } 
			 | 
		
	
		
			
			| 
				207
			 | 
			
				211
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				208
			 | 
			
				
			 | 
			
			
				-- (void) URLSessionDidFinishEventsForBackgroundURLSession:(NSURLSession *)session 
			 | 
		
	
		
			
			| 
				209
			 | 
			
				
			 | 
			
			
				-{ 
			 | 
		
	
		
			
			| 
				210
			 | 
			
				
			 | 
			
			
				-    if(self.dataTaskCompletionHandler != nil) 
			 | 
		
	
		
			
			| 
				211
			 | 
			
				
			 | 
			
			
				-    { 
			 | 
		
	
		
			
			| 
				212
			 | 
			
				
			 | 
			
			
				-        dataTaskCompletionHandler(self.respData, nil, error); 
			 | 
		
	
		
			
			| 
				213
			 | 
			
				
			 | 
			
			
				-    } 
			 | 
		
	
		
			
			| 
				214
			 | 
			
				
			 | 
			
			
				-    else if(self.fileTaskCompletionHandler != nil) 
			 | 
		
	
		
			
			| 
				215
			 | 
			
				
			 | 
			
			
				-    { 
			 | 
		
	
		
			
			| 
				216
			 | 
			
				
			 | 
			
			
				-        fileTaskCompletionHandler(nil, nil, self.error); 
			 | 
		
	
		
			
			| 
				217
			 | 
			
				
			 | 
			
			
				-    } 
			 | 
		
	
		
			
			| 
				218
			 | 
			
				
			 | 
			
			
				-} 
			 | 
		
	
		
			
			| 
				
			 | 
			
				212
			 | 
			
			
				+//- (void) URLSessionDidFinishEventsForBackgroundURLSession:(NSURLSession *)session 
			 | 
		
	
		
			
			| 
				
			 | 
			
				213
			 | 
			
			
				+//{ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				214
			 | 
			
			
				+//    if(self.dataTaskCompletionHandler != nil) 
			 | 
		
	
		
			
			| 
				
			 | 
			
				215
			 | 
			
			
				+//    { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				216
			 | 
			
			
				+//        dataTaskCompletionHandler(self.respData, nil, error); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				217
			 | 
			
			
				+//    } 
			 | 
		
	
		
			
			| 
				
			 | 
			
				218
			 | 
			
			
				+//    else if(self.fileTaskCompletionHandler != nil) 
			 | 
		
	
		
			
			| 
				
			 | 
			
				219
			 | 
			
			
				+//    { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				220
			 | 
			
			
				+//        fileTaskCompletionHandler(nil, nil, self.error); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				221
			 | 
			
			
				+//    } 
			 | 
		
	
		
			
			| 
				
			 | 
			
				222
			 | 
			
			
				+//} 
			 | 
		
	
		
			
			| 
				219
			 | 
			
				223
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				220
			 | 
			
				224
			 | 
			
			
				 - (void) URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task didReceiveChallenge:(NSURLAuthenticationChallenge *)challenge completionHandler:(void (^)(NSURLSessionAuthChallengeDisposition, NSURLCredential * _Nullable))completionHandler 
			 | 
		
	
		
			
			| 
				221
			 | 
			
				225
			 | 
			
			
				 { 
			 |