You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cordova.apache.org by "Ian Clelland (JIRA)" <ji...@apache.org> on 2013/03/21 21:15:15 UTC
[jira] [Commented] (CB-1518) FileTransfer.download progress events
has this.lengthComputable = false when response is gzipped on iOS
[ https://issues.apache.org/jira/browse/CB-1518?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13609406#comment-13609406 ]
Ian Clelland commented on CB-1518:
----------------------------------
I've implemented a solution to this (#2 from above) -- if a download returns an OK status, but the bytesExpected comes back as {{NSURLResponseUnknownLength}}, then it starts a parallel HEAD request to the origin server for the same resource. If that returns with a Content-Length header, then the original delegate's bytesExpected is updated, and a progress event is sent immediately.
> FileTransfer.download progress events has this.lengthComputable = false when response is gzipped on iOS
> -------------------------------------------------------------------------------------------------------
>
> Key: CB-1518
> URL: https://issues.apache.org/jira/browse/CB-1518
> Project: Apache Cordova
> Issue Type: Bug
> Components: iOS
> Affects Versions: 2.2.0
> Reporter: Andrew Grieve
> Assignee: Ian Clelland
> Priority: Minor
> Fix For: 2.6.0
>
>
> As far as I can tell, there is no way to track the actual bytes downloaded except for changing network stacks to something like ASI's.
> Lame other option #1:
> Re-gzip the response locally to approximate.
> Lame other option #2:
> Send a second request HEAD request without accept-encoding header (while the first request is in progress), and that will tell us the expected non-compressed length. This option is actually reasonable I think.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira