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
3851a88c81
Add a describe block for the public file with content
...
Also add a comment about why it's hard to check for nil because of Rack.
2015-03-13 10:42:48 +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
247559e563
Add test for GET on empty object (refs #48 )
2015-03-03 10:15:53 -04: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
a6707dd40d
Add spec for unescaped special characters
2014-02-24 20:44:23 +01:00
Garret Alfert
9e6cc6178d
Don't choke on colons in directory names ( fixes #39 )
2014-02-24 17:43:43 +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
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
fd8b2059b2
Value for 'Expires' header needs to be a string
2013-12-09 01:57:26 +01:00
Garret Alfert
4ae4865de5
Set response code for newly created objects to 201
2013-12-08 23:22:36 +01:00
Garret Alfert
5ddde402a8
Set 'Expires' header to 0 for all responses
2013-12-08 22:59:03 +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
3937862358
Use patched riak-ruby-client ( closes #32 )
...
The patched version escapes square brackets in the
key and bucket names correctly.
2013-11-06 21:56:23 +01:00
Garret Alfert
b907f02f37
Specs for ETag headers for binary files
2013-10-27 22:28:05 +01:00
Garret Alfert
f7eac9b411
Specs for If-None-Match on GET requests
2013-10-26 05:10:11 +02: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
67435157ed
Specs for If-Match header
2013-10-26 03:31:54 +02:00
Garret Alfert
189d202d66
Specs for ETag headers
2013-10-25 23:09:04 +02:00
Garret Alfert
e5dfbff82d
Test that files get deleted from Riak CS
2013-10-10 14:57:10 +02:00
Garret Alfert
c10fd893c6
Store binary objects in Riak CS
2013-10-07 15:19:46 +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
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
88c78bc18b
Remove debugging output
2013-04-20 14:48:47 +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
fa6235cd1f
Add spec for binary data
2012-11-02 13:07:59 +01:00
b8138a29f1
Use millisecond resolution for timestamps (refs #17 )
2012-10-24 05:39:37 +02:00
95adfff6ab
Just respond with an empty body on PUT requests
2012-10-22 12:59:07 +02:00
88f61bf7fa
Fix handling of keys containing colons ( fixes #13 )
2012-10-20 11:36:01 +02:00
acf2003487
Handle invalid JSON on PUT requests
2012-10-06 18:44:21 +02:00