Commit Graph

6 Commits (ac1763f2c7f0bbb16a7ff57211ae041e1241353a)

Author SHA1 Message Date
Visa Putkinen 84785ec473 Fix hang when upload receives HTTP 500
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.
2013-11-27 00:15:24 +02:00
Nestal Wan 738435837b using DataStream instead of Receiveable 2013-04-29 23:47:32 +08:00
Nestal Wan 379dddc532 fully configurable log 2012-06-03 18:31:02 +08:00
Matchman Green c7c49b094a fixed upload 2012-05-21 00:10:29 +08:00
Matchman Green 06158e6bf0 fixed state reuse in the receivables 2012-05-09 22:25:42 +08:00
Matchman Green 5e615de7cd added class to parse XML in HTTP response 2012-05-06 02:37:54 +08:00