This is an automated email from the ASF dual-hosted git repository.

timbru31 pushed a commit to branch master
in repository 
https://gitbox.apache.org/repos/asf/cordova-plugin-file-transfer.git


The following commit(s) were added to refs/heads/master by this push:
     new 64bfd15  fix(ios): re-implement user agent overwrite (#268)
64bfd15 is described below

commit 64bfd154b3ed8426ede8b66a2b7902cdf6122a21
Author: Tim Brust <[email protected]>
AuthorDate: Tue Aug 25 21:44:32 2020 +0000

    fix(ios): re-implement user agent overwrite (#268)
    
    This closes #263 #258
---
 src/ios/CDVFileTransfer.m | 48 +++++++++++++++++++++++------------------------
 1 file changed, 23 insertions(+), 25 deletions(-)

diff --git a/src/ios/CDVFileTransfer.m b/src/ios/CDVFileTransfer.m
index d0584ad..f1bb44d 100644
--- a/src/ios/CDVFileTransfer.m
+++ b/src/ios/CDVFileTransfer.m
@@ -103,36 +103,34 @@ static CFIndex WriteDataToStream(NSData* data, 
CFWriteStreamRef stream)
 - (void)applyRequestHeaders:(NSDictionary*)headers 
toRequest:(NSMutableURLRequest*)req
 {
     [req setValue:@"XMLHttpRequest" forHTTPHeaderField:@"X-Requested-With"];
-
-    NSString* userAgent = [self.commandDelegate userAgent];
-    if (userAgent) {
+    [self.webViewEngine evaluateJavaScript:@"navigator.userAgent" 
completionHandler:^(NSString* userAgent, NSError* error) {
         [req setValue:userAgent forHTTPHeaderField:@"User-Agent"];
-    }
-
-    for (NSString* headerName in headers) {
-        id value = [headers objectForKey:headerName];
-        if (!value || (value == [NSNull null])) {
-            value = @"null";
-        }
-
-        // First, remove an existing header if one exists.
-        [req setValue:nil forHTTPHeaderField:headerName];
-
-        if (![value isKindOfClass:[NSArray class]]) {
-            value = [NSArray arrayWithObject:value];
-        }
 
-        // Then, append all header values.
-        for (id __strong subValue in value) {
-            // Convert from an NSNumber -> NSString.
-            if ([subValue respondsToSelector:@selector(stringValue)]) {
-                subValue = [subValue stringValue];
+        for (NSString* headerName in headers) {
+            id value = [headers objectForKey:headerName];
+            if (!value || (value == [NSNull null])) {
+                value = @"null";
+            }
+            
+            // First, remove an existing header if one exists.
+            [req setValue:nil forHTTPHeaderField:headerName];
+            
+            if (![value isKindOfClass:[NSArray class]]) {
+                value = [NSArray arrayWithObject:value];
             }
-            if ([subValue isKindOfClass:[NSString class]]) {
-                [req addValue:subValue forHTTPHeaderField:headerName];
+            
+            // Then, append all header values.
+            for (id __strong subValue in value) {
+                // Convert from an NSNumber -> NSString.
+                if ([subValue respondsToSelector:@selector(stringValue)]) {
+                    subValue = [subValue stringValue];
+                }
+                if ([subValue isKindOfClass:[NSString class]]) {
+                    [req addValue:subValue forHTTPHeaderField:headerName];
+                }
             }
         }
-    }
+    }];
 }
 
 - (NSURLRequest*)requestForUploadCommand:(CDVInvokedUrlCommand*)command 
fileData:(NSData*)fileData


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to