There is a related issue on Ios platform [3] - having chunkedMode=true causes 
progress not to be computable as we don't include Content-Length header to the 
request in this case.
Reverting that logic fixes the onprogress event but breaks our tests - so this 
is a question again - should we care about specification or about functionality?
Should we revert this to make the progress computable for chunkedMode=true?

Does anyone has knowledge to advise about the drawbacks of this specific 
decision would it be taken (tests show that progress is being reported 
correctly but this is again is kind of an internal implementation we will 
depend on)?

[3]: https://issues.apache.org/jira/browse/CB-12154 

Please let me know if you have any questions or considerations.

Best regards,
Sergey Shakhnazarov.

-----Original Message-----
From: Sergey Shakhnazarov (Akvelon) [mailto:[email protected]] 
Sent: Wednesday, November 23, 2016 14:47
To: [email protected]
Subject: CB-10974 FileTransfer chunkedMode=false + HTTPS

Hi guys,

There were several user reports recently about the upload failures caused by 
the lack of Content-Length header in case of HTTPS uploads.
This issue is caused by the FileTransfer code, which forces chunkedMode=true 
for HTTPS uploads due to possible OutOfMemoryException.
As a solution I've send a PR [1], which does not touch chunkedMode if it was 
specified as false in the UploadOptions.

Do you think this a correct solution?

According to the HTTP specification [2]:

Ø  Messages MUST NOT include both a Content-Length header field and a 
non-identity transfer-coding. If the message does include a non- identity 
transfer-coding, the Content-Length MUST be ignored.



So including a Content-Length for the chunkedMode=true case would be wrong.

Furthermore we don't control the underlying implementation so can't define the 
summary length of chunks beforehand.



[1]: 
https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fapache%2Fcordova-plugin-file-transfer%2Fpull%2F169&data=02%7C01%7Cv-seshak%40microsoft.com%7C9a4c5183e2ef4ac549d008d413968086%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636154984504057421&sdata=ggfYGmC0FX%2F2rclFaF8T1PuNAUARywO0LSUxHIRXecE%3D&reserved=0

[2]: 
https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.w3.org%2FProtocols%2Frfc2616%2Frfc2616-sec4.html%23sec4.4&data=02%7C01%7Cv-seshak%40microsoft.com%7C9a4c5183e2ef4ac549d008d413968086%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636154984504057421&sdata=hDLgzBvz%2FvKkq50Oo2R04Q9kmP6rZAQbpXpiD9hgHEI%3D&reserved=0

Please let me know if you have any questions or considerations.

Best regards,
Sergey Shakhnazarov.



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

Reply via email to