Commit Graph

415 Commits (issue-71)

Author SHA1 Message Date
Vitaliy Filippov dc8e172a27 Handle error HTTP responses in OAuth2 2015-09-30 15:52:24 +03:00
Vitaliy Filippov 9402bff12e Implement normal reliable HTTP logging (in Agent)
Flushes on every call so may be slightly slow, but in return always provides full
information in case of a segfault or a failed assertion.
2015-09-30 15:01:50 +03:00
Vitaliy Filippov 9b8e0c826b Remove request logging from Drive/Feed/Syncer (prepare to move it into CurlAgent) 2015-09-30 13:54:45 +03:00
Vitaliy Filippov 8fd74d7a36 Update readme 2015-09-25 13:27:54 +03:00
Vitaliy Filippov 7ac15187d3 Add --ignore (perl regexp) option 2015-09-25 13:11:56 +03:00
Vitaliy Filippov 5dc7028c8a Add expat into README.md dependency list - closes #25 2015-08-30 22:48:30 +03:00
Vitaliy Filippov 6f35a32ca2 Get auth headers again before each Put() retry - fixes #19 2015-08-04 22:59:09 +03:00
Vitaliy Filippov 308aab92cf Also print response body on 401 2015-07-04 00:25:13 +03:00
Vitaliy Filippov 1d47616518 Fix #17 (curl_slist memory leak) 2015-07-04 00:18:59 +03:00
Vitaliy Filippov 5da32905ea Move old tests to fix build errors, fixes #14 2015-06-27 23:18:03 +03:00
Vitaliy Filippov 70ec926e2a Add response body and headers to diagnostic information on HTTP 400 and above
Also should fix #13 because stops AuthAgent from using the same response multiple times
2015-06-27 22:58:09 +03:00
Vitaliy Filippov 06eb1a7df2 Fix FreeBSD build 2015-05-31 22:35:15 +03:00
Vitaliy Filippov 82705f39b0 Fix 412's on reupload. Fixes #5 2015-05-21 19:23:45 +03:00
Vitaliy Filippov 37b2cf3102 Ignore files without md5Checksum. Fixes #2 2015-05-20 15:14:24 +03:00
Vitaliy Filippov 815d0ea44e Make libbfd happy. In conjunction with libiberty fixes #1 2015-05-20 02:15:01 +03:00
Vitaliy Filippov c006e75d26 Return libiberty back 2015-05-20 02:15:01 +03:00
Vitaliy Filippov 29241002eb Add myself to copyrights, change README 2015-05-17 22:11:35 +03:00
Vitaliy Filippov 0bdbf87514 Ignore local .trash, fix REST API - it mostly works 2015-05-17 21:05:24 +03:00
Vitaliy Filippov 2d34d7708b Implement upload methods for REST API Syncer (basic file upload to root now works) 2015-05-17 20:10:03 +03:00
Vitaliy Filippov a4521d9d62 Remove obsolete gdbm & iberty cmake modules 2015-05-17 16:59:58 +03:00
Vitaliy Filippov 862fca035a Move all protocol interaction into Syncers out of the base code 2015-05-17 16:54:04 +03:00
Vitaliy Filippov 717a6a4793 Use vector<Entry> instead of iterator_adaptor to hide implementation details 2015-05-17 14:32:04 +03:00
Vitaliy Filippov dabaaac38f Cleanup Feed interface (remove some unused methods) 2015-05-17 12:29:00 +03:00
Vitaliy Filippov 6a15dd09a5 Split Resource to global (base/Resource) and API-specific ({drive,drive2}/Syncer) parts 2015-05-17 02:00:00 +03:00
Vitaliy Filippov f41e4f6dd3 Split Entry to v1::Entry1 and v2::Entry2 2015-05-16 21:10:38 +03:00
Vitaliy Filippov b0255d9699 Add Entry constructor for new Drive REST API 2015-05-16 19:38:43 +03:00
Vitaliy Filippov 2d8da5cab3 Remove doclist API specific fields from Entry class: kind, create_link, edit_link and alt_self 2015-05-16 12:35:41 +03:00
Vitaliy Filippov 770baca3fc Reduce syscalls slightly more (os::FileCTime is still left...) 2015-05-16 01:05:19 +03:00
Vitaliy Filippov 5bc503279a Remove JSON-C json wrappers, use YAJL for everything 2015-05-16 00:37:02 +03:00
Vitaliy Filippov ac1763f2c7 Merge https://github.com/visap/grive/commits/visa 2015-05-16 00:36:26 +03:00
Vitaliy Filippov 12774a952a Remove bgrive (dead and unused code) 2015-05-14 01:22:37 +03:00
Vitaliy Filippov f16f212281 use pkg-config also for finding json-c (fixes paths on debian) 2015-05-14 01:20:35 +03:00
Vitaliy Filippov c0c89c306c Remove useless swap() code 2015-05-14 01:10:09 +03:00
Vitaliy Filippov 94efea11dd Do not try to install doc/grive.1 from bgrive cmake 2014-07-23 14:51:13 +04:00
Vitaliy Filippov 400d9e0c0f Fix long/int cast errors 2014-07-23 14:51:13 +04:00
Vitaliy Filippov 459313ecf5 Find YAJL via pkg-config 2014-07-23 14:51:13 +04:00
Visa Putkinen 3775572f46 Retry upload on XML error instead of crashing
Sometimes the Google Drive API sends malformed XML which crashes grive.
This patch adds a simple try-catch to Resource::Upload that retries the
upload if an XML exception is thrown from AuthAgent::Put.
2013-11-27 00:15:24 +02:00
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
Visa Putkinen 645bb2e7d4 Add delay before auth token refresh
This is sometimes necessary to prevent too frequent requests.
2013-11-27 00:15:15 +02:00
Visa Putkinen 986ab4acc6 Log XML on parse failure 2013-11-25 00:18:47 +02:00
Visa Putkinen 8b434dad14 Reduce number of syscalls while scanning local files 2013-11-24 14:34:03 +02:00
Visa Putkinen c15bfbe8bc Ignore only .grive and .grive_state 2013-11-24 14:25:01 +02:00
Visa Putkinen 89506b4162 Add autogenerated stuff to .gitignore 2013-11-24 14:22:49 +02:00
Vitaliy Filippov 752eb3fdda Allow to sync just one directory in the root 2013-09-08 02:36:30 +04:00
Nestal Wan 27817e835f using the new Json classes for bgrive 2013-05-03 00:40:04 +08:00
Nestal Wan 6ba04dcfba added operator<< to print out json 2013-05-02 00:55:39 +08:00
Nestal Wan 6fa6e690c6 added json writer 2013-05-02 00:41:47 +08:00
Nestal Wan abfa9ce765 added ValResponse class to parse JSON from http 2013-05-02 00:04:42 +08:00
Nestal Wan 2d29692601 added yajl parser 2013-05-01 22:47:37 +08:00
Nestal Wan 540e3d82db added type conversion to supported types 2013-05-01 13:36:29 +08:00