114 Commits

Author SHA1 Message Date
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
6770a8cfb1 Move Rack::CommonLogger into it's own file 2013-09-19 16:09:18 +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
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
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
c78be51e8f Fix merge conflict 2013-04-29 18:38:40 +02:00
1be4020991 Use config_file, include backend module depending on config (closes #8) 2013-04-25 23:11:25 +02:00
a35fef3727 Don't change usage counter on DELETE to non-existing resource 2013-04-23 15:58:34 +02:00
08661ea148 Combine category usage counters in a single JSON object 2013-04-23 15:34:40 +02:00
27e5dfc1b5 Add per-category object counter 2013-04-22 17:11:30 +02:00
1a9be076fa Add user id index to usage size keys 2013-04-21 17:48:21 +02:00
e94928c2ed Log object sizes to a per-user-and-category counter (closes #22) 2013-04-20 14:45:02 +02:00
e2095a34a6 Detect binary data even when content-type doesn't contain 'charset=binary' 2012-11-04 19:29:54 +01:00
44d276a387 Set indexes for binary objects 2012-11-03 15:17:40 +01:00
5384e3d355 Delete the actual binary objects with the data objects 2012-11-03 15:05:04 +01:00
2c9979f544 Use millisecond resolution for timestamps of updated directory objects on DELETE requests 2012-11-03 15:00:59 +01:00
483523b091 Allow binary content (fixes #18) 2012-11-02 13:48:42 +01:00
39355ff0f2 Don't allow directory listings of the public directory without proper permissions (refs #19) 2012-10-29 14:46:11 +01:00
84c1f419be Make bucket names configurable by environment (refs #16) 2012-10-25 11:29:34 +02:00
d1acfe88e8 Timestamps for sub-directories also have milliseconds resolution (refs #17) 2012-10-24 06:09:28 +02:00
b8138a29f1 Use millisecond resolution for timestamps (refs #17) 2012-10-24 05:39:37 +02:00
bf00b2a352 Escape entries in directory listings 2012-10-22 14:32:46 +02:00
3821d4a055 Use integegers for timestamps of sub-directories in directory listings 2012-10-22 13:54:10 +02:00
95adfff6ab Just respond with an empty body on PUT requests 2012-10-22 12:59:07 +02:00
544400b138 Escape the directory name when saving it as an index (fixes #15) 2012-10-22 12:19:48 +02:00
88f61bf7fa Fix handling of keys containing colons (fixes #13) 2012-10-20 11:36:01 +02:00
2882bca483 Fix user filtering for directory listings 2012-10-20 11:32:34 +02:00
18e01597af Dry up some code 2012-10-07 20:01:06 +02:00
c542350185 Update timestamp of parent directories on DELETE requests (fixes #10) 2012-10-07 19:03:08 +02:00
8b2bd53d49 Delete all directory objects for empty directories 2012-10-07 18:39:41 +02:00
6f975c6c45 Update timestamps for all parent directories on PUT requests (fixes #11) 2012-10-07 14:54:50 +02:00
acf2003487 Handle invalid JSON on PUT requests 2012-10-06 18:44:21 +02:00
d4151b64df Save timestamps for directory objects as actual data to keep them consistent with the data objects 2012-10-01 17:43:56 +02:00
c0078e66e1 Rename category -> directory 2012-10-01 14:03:14 +02:00
a21bdab0fa Add support for the root directory 2012-10-01 03:12:29 +02:00
d4d02e3e77 Fix handling of content-types that also contain the encoding 2012-09-30 21:57:58 +02:00
7cbccb16b9 Change method name and make it private 2012-09-28 13:26:33 +02:00
36b20aa6a9 Unescape directory names 2012-09-26 20:15:37 +02:00