grive2/libgrive/src/http
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
..
Agent.hh using DataStream instead of Receiveable 2013-04-29 23:47:32 +08:00
CurlAgent.cc using DataStream instead of Receiveable 2013-04-29 23:47:32 +08:00
CurlAgent.hh using DataStream instead of Receiveable 2013-04-29 23:47:32 +08:00
Download.cc using DataStream instead of Receiveable 2013-04-29 23:47:32 +08:00
Download.hh using DataStream instead of Receiveable 2013-04-29 23:47:32 +08:00
Error.hh refactored exception handling 2013-04-29 23:47:32 +08:00
Header.cc added AuthAgent, a wrapper around http agent 2012-07-20 00:39:36 +08:00
Header.hh added AuthAgent, a wrapper around http agent 2012-07-20 00:39:36 +08:00
ResponseLog.cc using DataStream instead of Receiveable 2013-04-29 23:47:32 +08:00
ResponseLog.hh using DataStream instead of Receiveable 2013-04-29 23:47:32 +08:00
StringResponse.cc using DataStream instead of Receiveable 2013-04-29 23:47:32 +08:00
StringResponse.hh using DataStream instead of Receiveable 2013-04-29 23:47:32 +08:00
XmlResponse.cc Fix hang when upload receives HTTP 500 2013-11-27 00:15:24 +02:00
XmlResponse.hh using DataStream instead of Receiveable 2013-04-29 23:47:32 +08:00