[
https://issues.apache.org/jira/browse/CB-6928?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14036743#comment-14036743
]
ASF GitHub Bot commented on CB-6928:
------------------------------------
GitHub user jpuerto opened a pull request:
https://github.com/apache/cordova-plugin-file-transfer/pull/32
CB-6928: Implements NOT_MODIFIED check downloading resources.
Introduce FileTransferError.NOT_MODIFIED_ERR, execute error callback for
304 status code.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/jpuerto/cordova-plugin-file-transfer
pull-request
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/cordova-plugin-file-transfer/pull/32.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #32
----
commit 369e6170605b5db99a6a568174078f185d31ca0c
Author: Javier Puerto <[email protected]>
Date: 2014-06-12T08:34:42Z
CB-6928: Open output stream only if it's necessary.
commit 5a834df72ff690e8d6a6d58b7c7df1aa448edbb4
Author: Javier Puerto <[email protected]>
Date: 2014-06-19T00:20:51Z
CB-6928: Handle 304 status code
----
> Wrong behaviour transferring cacheable content
> ----------------------------------------------
>
> Key: CB-6928
> URL: https://issues.apache.org/jira/browse/CB-6928
> Project: Apache Cordova
> Issue Type: Bug
> Components: Plugin File Transfer
> Affects Versions: 3.5.0
> Reporter: Javier Puerto
> Priority: Minor
> Attachments: CB-6928.diff
>
>
> Use case:
> Transfer resources from server to the device. To avoid unnecessary use of the
> device bandwidth, the resources that exists already are checked with the
> "If-Modified-Since" header so server can return 304 status code and update
> just in case that is needed.
> Result for Android test:
> The plugin doesn't care about the status code, if the request is success,
> open the InputStream and copy the content to the file. The problem is that a
> HTTP status of 304 has no response and that leads to a corrupted file
> transfer.
> Fix:
> If status code is 304, doesn't makes sense to process the InputStream. Read
> the status code after connection and if it's 304, skip the copy process and
> return the file entity like a success transfer.
> I've tested for Android only.
--
This message was sent by Atlassian JIRA
(v6.2#6252)