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
9250bb7790
Create directory objects for parent directories that don't contain any files themselves
2012-09-26 20:00:07 +02:00
9d2727b867
Use only the directory name instead of full path in directory listings
2012-09-26 11:34:31 +02:00
ebe499211a
Support directory listings
2012-09-26 11:10:02 +02:00
9e81c4828d
All data under /public is always readable
2012-09-25 17:34:40 +02:00
af28ec44c8
Set Last-Modified header
2012-09-25 17:22:56 +02:00
3d573b51ac
Support for new read/write permission system
2012-09-25 17:22:25 +02:00
50601b5b71
Cleanup the code a little
2012-09-14 17:20:57 +02:00
15fdd7742f
Fix custom content types to support arbitrary types ( fixes #5 )
2012-09-14 17:13:25 +02:00
956f6fd3b3
Add support for custom content types
2012-06-10 16:16:34 +02:00
9d9fad77a0
Set index headers for user id in Riak
2012-04-23 14:33:14 +02:00
cbbf909e7f
Memoization, duh
2012-04-22 20:37:10 +02:00
1d81e06d41
Set charset explicitly in Riak objects' content type
2012-03-17 14:49:31 +01:00
64698b8503
Make config settable from outside the app
2012-02-29 14:08:03 +01:00
0d15277178
Initial commit
2012-02-27 16:32:12 +01:00