[ 
https://issues.apache.org/jira/browse/CB-765?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13412877#comment-13412877
 ] 

Andrew Grieve commented on CB-765:
----------------------------------

Yeah, I think Ionut has a point. It would make a lot more sense to have the 
headers be attached to the options object instead of a magic key of params.

The point about allowing multiple headers with the same name is valid as well, 
but maybe low enough priority that it can wait for XHR2?

I can take on adding the headers to FileUploadOptions and the relevant changes 
to iOS & Android. What do you think about removing the existing support for 
having headers on the params object though? My vote would be to remove support 
for this on iOS, but leave it in on Android since it's new on iOS but has 
existed for a little while on Android.

                
> Header support for PhoneGap's FileTransfer (Upload)
> ---------------------------------------------------
>
>                 Key: CB-765
>                 URL: https://issues.apache.org/jira/browse/CB-765
>             Project: Apache Cordova
>          Issue Type: Improvement
>          Components: iOS
>    Affects Versions: 1.7.0
>            Reporter: Aurelien MERCIER
>            Assignee: Herm Wong
>             Fix For: 1.9.0
>
>   Original Estimate: 1h
>  Remaining Estimate: 1h
>
> It would be great to support headers for FileTransfer's iOS version (as done 
> in Android: CB-78).
> Right now, I had redefined CDVFileTranfer for our needs and added just after 
> userAgent definition:
> if(userAgent) {
>               [req setValue: userAgent forHTTPHeaderField:@"User-Agent"];
>       } 
>     
>     NSMutableDictionary* headers = [params objectForKey:@"headers"];
>     NSEnumerator *enumerator = [headers keyEnumerator];
>       id key;
>       id val;
>     NSString *nkey;
>       
>       while (nkey = [enumerator nextObject]) {
>               val = [headers objectForKey:nkey];
>               if(!val || val == [NSNull null]) {
>                       continue;       
>               }
>               // if it responds to stringValue selector (eg NSNumber) get the 
> NSString
>               if ([val respondsToSelector:@selector(stringValue)]) {
>                       val = [val stringValue];
>               }
>               // finally, check whether it is a NSString (for 
> dataUsingEncoding selector below)
>               if (![val isKindOfClass:[NSString class]]) {
>                       continue;
>               }
>         
>         //if ([key respondsToSelector:@selector(stringValue)]) {
>         [req setValue:val forHTTPHeaderField:nkey];
>         //}   
>     }
> If you can include this code or similar one into future version of Cordova it 
> will be awesome.
> Thanks,

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to