Commit Graph

188 Commits

Author SHA1 Message Date
Greg Karékinian 1cf99377dc Fix listing of a user's root directory
Refs #62
2015-06-29 18:27:00 +02:00
Greg Karékinian f5adc5f31d Escape directory and key for the URI in Swift provider 2015-05-04 22:38:25 +02:00
Greg Karékinian 3b326d6dbf Add Sentry for exception tracking 2015-04-29 20:13:04 +02:00
Greg Karékinian 35c04f85e4 Add a Swift remoteStorage provider 2015-04-29 20:13:04 +02:00
Greg Karékinian bbb1bc0af0 Merge branch 'fix_empty_file_response' 2015-03-14 15:48:15 +01:00
Greg Karékinian 0f1f445e7f Always cast the Content-Length header into a string
Fixes a crash in Rainbows, when a header is set to a Fixnum/Integer.

Refs #53
2015-03-13 11:22:05 +01:00
Greg Karékinian a15635ce38 Fix a bug when a document has an empty body
Add check on content length for an empty file
2015-03-12 21:51:37 +01:00
Garret Alfert 8e355ba532 Respond with 409 on naming collisions between documents and folders 2014-09-23 17:59:28 +02:00
Garret Alfert 1603d3d2ff Merge branch 'master' into rs_spec_02
Conflicts:
	lib/remote_storage/riak.rb
	spec/directories_spec.rb
2014-09-23 17:58:21 +02:00
Garret Alfert 9e6cc6178d Don't choke on colons in directory names (fixes #39) 2014-02-24 17:43:43 +01:00
Garret Alfert ed4152095b Code formatting 2014-01-09 23:58:20 +01:00
Garret Alfert 270ac1442e If-None-Match header may contain multiple revisions 2014-01-09 23:51:05 +01:00
Garret Alfert 38e69f1423 Last-Modified header is not needed anymore 2014-01-09 21:00:13 +01:00
Garret Alfert 8073eec851 HEAD requests for directory listings 2014-01-09 20:03:34 +01:00
Garret Alfert f8b1ad730a HEAD requests for documents 2014-01-09 19:26:36 +01:00
Garret Alfert 6d86fa516a Set Content-Length header for documents on GET 2014-01-08 23:27:07 +01:00
Garret Alfert 75e52f3e9a New directory listing format 2014-01-08 21:41:01 +01:00
Garret Alfert 4ae4865de5 Set response code for newly created objects to 201 2013-12-08 23:22:36 +01:00
Garret Alfert a559f55a6d Change response code for successful DELETE requests from 204 to 200 2013-12-08 22:45:03 +01:00
Garret Alfert 96438bac8d Remove ETag header from DELETE requests 2013-12-08 22:42:01 +01:00
Garret Alfert ba3f5db598 Change response code for unauthorized access from 403 to 401 2013-12-08 22:38:36 +01:00
Garret Alfert 17068f33df Don't write any opslog when count and size didn't change (same file) 2013-11-19 19:35:04 +01:00
Garret Alfert 2f95aab874 Don't increase opslog count when overwriting existing binary file 2013-11-19 19:23:13 +01:00
Garret Alfert 088cd2677c Send ETag header with 304 response as well 2013-11-16 13:54:30 +01:00
Garret Alfert 256b3c426e Use ETags as version in directory listings 2013-10-27 22:29:17 +01:00
Garret Alfert 39dac0a5ed Remove some duplication 2013-10-27 22:29:17 +01:00
Garret Alfert b907f02f37 Specs for ETag headers for binary files 2013-10-27 22:28:05 +01:00
Garret Alfert f61eef717e Don't overwrite existing data when If-None-Match is "*" (refs #26) 2013-10-26 05:09:37 +02:00
Garret Alfert 189d202d66 Specs for ETag headers 2013-10-25 23:09:04 +02:00
Garret Alfert 5dd1d26b20 Set and check ETag headers 2013-10-25 12:45:47 +02:00
Garret Alfert f852e7719f Requests for empty directories respond with 404 (refs #26) 2013-10-25 12:44:39 +02:00
Garret Alfert 20d33cc1af Read CS credentials from file 2013-10-11 17:30:05 +02:00
Garret Alfert b12df5470f Make sure that 'allow_mult' is false for all buckets 2013-10-07 15:23:09 +02:00
Garret Alfert c10fd893c6 Store binary objects in Riak CS 2013-10-07 15:19:46 +02:00
Garret Alfert 53256ecc00 Use class instead of module 2013-09-19 16:09:12 +02:00
Garret Alfert 629ff399ff Don't try to deserialize an object to check if it already exists (fixes #29) 2013-09-13 19:10:32 +02:00
Garret Alfert 82554e0356 Fix DateTime to timestamp conversion 2013-07-17 12:05:18 +02:00
Garret Alfert c6059153f8 Fix encoding in directory listings 2013-07-11 13:44:40 +02:00
Garret Alfert 73336ed5bc Fix for using Riak with http_url_encoding config enabled 2013-06-14 18:49:26 +02:00
basti 95f24beef7 Use count instead of action
In order to be able to combine multiple log entries (and of different
types) into one, we now set the object count instead of an action verb
when logging an operation.
2013-04-30 20:48:28 +02:00
basti eaa3dbfe83 Use opslog instead of counters
Account for eventual consistency by storing log items for
create/update/delete operations instead of using counter keys. We can
then map/reduce over the log items in order to extract category sizes
and object counts. Furthermore, we can combine single items from time to
time in order to keep things fast and tidy.
2013-04-29 22:11:41 +02:00
basti c78be51e8f Fix merge conflict 2013-04-29 18:38:40 +02:00
basti 1be4020991 Use config_file, include backend module depending on config (closes #8) 2013-04-25 23:11:25 +02:00
basti a35fef3727 Don't change usage counter on DELETE to non-existing resource 2013-04-23 15:58:34 +02:00
basti 08661ea148 Combine category usage counters in a single JSON object 2013-04-23 15:34:40 +02:00
basti 27e5dfc1b5 Add per-category object counter 2013-04-22 17:11:30 +02:00
basti 1a9be076fa Add user id index to usage size keys 2013-04-21 17:48:21 +02:00
basti e94928c2ed Log object sizes to a per-user-and-category counter (closes #22) 2013-04-20 14:45:02 +02:00
galfert e2095a34a6 Detect binary data even when content-type doesn't contain 'charset=binary' 2012-11-04 19:29:54 +01:00
galfert 44d276a387 Set indexes for binary objects 2012-11-03 15:17:40 +01:00