Teddy Reed
9156785334
Check for missing downloadUrl
2015-11-09 20:27:55 -08:00
Vitaliy Filippov
44cb91f94e
State that YAJL 2.x is required
2015-10-11 18:59:25 +03:00
Vitaliy Filippov
f0b6bcf8b4
Add Debian packaging scripts
...
Based on work by Alin Andrei (https://launchpad.net/~nilarimogard/+archive/ubuntu/webupd8 )
2015-10-11 15:32:00 +03:00
Vitaliy Filippov
81b1a4f05c
Fix non-virtual destructor and missing return value (fixes "illegal instruction" under FreeBSD)
2015-10-10 21:43:54 +00:00
Vitaliy Filippov
df99954382
Change m_str.replace back to insert + remove StringStream limit
2015-10-10 13:01:05 +03:00
Vitaliy Filippov
887da88c14
Simplify http::Agent methods and use multipart upload
...
Should speed-up uploads by updating metadata and contents at the same time.
Also should fix most 412 errors because of the update atomicity.
2015-10-10 00:54:05 +03:00
Vitaliy Filippov
679fa0eec6
Use title instead of originalFilename - fixes #32
2015-10-08 14:23:59 +03:00
Vitaliy Filippov
1cca10272d
Track both server-side and local sync times - fixes #6
2015-10-08 13:30:50 +03:00
Vitaliy Filippov
d9300c953e
Fix .trash and .grive_state in drive location when used with -p option
...
Previously .trash and .grive_state were incorrectly placed in the current
working directory instead of synced root directory (-p).
2015-10-08 01:41:35 +03:00
Vitaliy Filippov
f288c559c6
Oops. I was thinking auto_ptr is smart_ptr O_o. Sorry. Also fix #33
2015-10-07 01:57:28 +03:00
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