Commit Graph

110 Commits

Author SHA1 Message Date
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 88c78bc18b Remove debugging output 2013-04-20 14:48:47 +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
galfert 5384e3d355 Delete the actual binary objects with the data objects 2012-11-03 15:05:04 +01:00
galfert 2c9979f544 Use millisecond resolution for timestamps of updated directory objects on DELETE requests 2012-11-03 15:00:59 +01:00
galfert 483523b091 Allow binary content (fixes #18) 2012-11-02 13:48:42 +01:00
galfert fa6235cd1f Add spec for binary data 2012-11-02 13:07:59 +01:00
galfert 39355ff0f2 Don't allow directory listings of the public directory without proper permissions (refs #19) 2012-10-29 14:46:11 +01:00
galfert 6541b97997 Rearrange permissions_spec.rb 2012-10-29 10:09:53 +01:00
galfert 84c1f419be Make bucket names configurable by environment (refs #16) 2012-10-25 11:29:34 +02:00
galfert d1acfe88e8 Timestamps for sub-directories also have milliseconds resolution (refs #17) 2012-10-24 06:09:28 +02:00
galfert b8138a29f1 Use millisecond resolution for timestamps (refs #17) 2012-10-24 05:39:37 +02:00
galfert 9c93c83ceb Specs to make sure timestamps in directory listings are always integer 2012-10-24 04:45:37 +02:00
galfert bf00b2a352 Escape entries in directory listings 2012-10-22 14:32:46 +02:00
galfert 3821d4a055 Use integegers for timestamps of sub-directories in directory listings 2012-10-22 13:54:10 +02:00
galfert 95adfff6ab Just respond with an empty body on PUT requests 2012-10-22 12:59:07 +02:00
galfert 544400b138 Escape the directory name when saving it as an index (fixes #15) 2012-10-22 12:19:48 +02:00
galfert ba979dfe04 Spec helper for writing the last response to a file 2012-10-22 12:18:31 +02:00
galfert 88f61bf7fa Fix handling of keys containing colons (fixes #13) 2012-10-20 11:36:01 +02:00
galfert 2882bca483 Fix user filtering for directory listings 2012-10-20 11:32:34 +02:00
galfert e7c2415348 Explicitly load directory object instead of reloading in spec 2012-10-07 19:15:12 +02:00
galfert c542350185 Update timestamp of parent directories on DELETE requests (fixes #10) 2012-10-07 19:03:08 +02:00
galfert 8b2bd53d49 Delete all directory objects for empty directories 2012-10-07 18:39:41 +02:00
galfert 6f975c6c45 Update timestamps for all parent directories on PUT requests (fixes #11) 2012-10-07 14:54:50 +02:00
galfert acf2003487 Handle invalid JSON on PUT requests 2012-10-06 18:44:21 +02:00
galfert 4e88cd480c Explicitly load directory object again in spec 2012-10-02 16:50:22 +02:00
galfert abdf6f08e0 Try to fix failing spec on Travis 2012-10-01 18:31:47 +02:00
galfert 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
galfert a21bdab0fa Add support for the root directory 2012-10-01 03:12:29 +02:00
galfert d4d02e3e77 Fix handling of content-types that also contain the encoding 2012-09-30 21:57:58 +02:00
galfert 8aead37dba Spec for OPTIONS requests on sub-directories 2012-09-30 21:49:59 +02:00
galfert e815cbaaff Allow OPTIONS requests for directory listings 2012-09-28 14:46:42 +02:00
galfert 9250bb7790 Create directory objects for parent directories that don't contain any files themselves 2012-09-26 20:00:07 +02:00
galfert 4d01144bf4 Add spec helper that waits for the next second to begin (instead of sleeping for a whole second) 2012-09-26 20:00:07 +02:00
galfert 52b32fb396 Fix specs 2012-09-26 20:00:06 +02:00
galfert 8af6016d99 Purge all buckets before every test 2012-09-26 11:10:02 +02:00
galfert ebe499211a Support directory listings 2012-09-26 11:10:02 +02:00
galfert 9e81c4828d All data under /public is always readable 2012-09-25 17:34:40 +02:00
galfert af28ec44c8 Set Last-Modified header 2012-09-25 17:22:56 +02:00
galfert 1cd01b8277 Specs for global permissions 2012-09-25 17:22:56 +02:00
galfert 3d573b51ac Support for new read/write permission system 2012-09-25 17:22:25 +02:00
galfert 01017a9d9c Clean up the specs some more 2012-09-15 00:47:49 +02:00