[
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