mirror of https://github.com/vitalif/grive2
84785ec473
When an uploading PUT request got a HTTP 500 as reponse, grive hanged forever inside libcurl. This was because the File parameter was not rewound to 0 position on retry. The XmlResponse had to be cleared as well. Rewinding the File and clearing the XmlResponse were not enough to fix the problem, because when retrying after 500, HTTP 410 Gone or 412 Precondition failed is often received, and CheckHttpResponse would throw an exception that crashes grive. Therefore, I implemented a retry logic to Resource::Upload that retries the whole upload transaction if 410 or 412 was received. |
||
---|---|---|
.. | ||
bfd | ||
drive | ||
drive2 | ||
http | ||
json | ||
protocol | ||
util | ||
xml |