Commit Graph

170 Commits

Author SHA1 Message Date
Garret Alfert
88f2dceb27 Use single letters for Redis metadata keys
Saves 16 characters per document object and 10
characters per directory object
2016-03-02 15:00:33 +01:00
Garret Alfert
650da91a1d Shorten Redis metadata keys
Use rsm:<username>:<dir>:i instead of
rs_meta:<username>:<dir>:items
2016-03-02 14:43:28 +01:00
Garret Alfert
067f4a1553 Use shorter Redis key for dir backend config
rsc:db:username instead of rs_config:dir_backend:username
2016-03-02 14:33:48 +01:00
Garret Alfert
ff25b40385 Save last modified timestamp for objects as well 2016-03-02 14:05:53 +01:00
Greg Karékinian
e7a35636fd Turn Redis parameters into symbols 2016-03-01 15:02:56 +01:00
Greg Karékinian
0e10f3b6ff Change the way to load the Redis config to allow clusters 2016-02-02 22:20:38 +00:00
Garret Alfert
c730333143 Don't try to do put or delete requests to root dir in order to update etag 2016-02-02 18:07:12 +01:00
Garret Alfert
9ba85446ef Use parentheses to fix syntax warnings 2016-02-01 15:00:39 +01:00
Garret Alfert
7084a50d1b Make dir_empty? method use Redis metadata 2016-01-29 16:45:17 +01:00
Garret Alfert
573dadf365 Respond with 503 when directory backend is locked 2016-01-29 16:18:49 +01:00
Garret Alfert
a4673e9661 Use directory backend config from redis instead of config file 2016-01-29 16:18:09 +01:00
Garret Alfert
4ca67c7ea9 Do collision detection via Redis metadata 2016-01-28 19:15:50 +01:00
Garret Alfert
4e7c8f68bb Add missing arguments to method call 2016-01-28 17:48:20 +01:00
Garret Alfert
d973771192 Remove some duplication 2016-01-26 20:33:43 +01:00
Garret Alfert
0745354b8a Retrieve directory listing from Redis via Lua 2016-01-26 20:32:29 +01:00
Garret Alfert
737be34e73 Configure the source of dir listing (redis or swift) 2016-01-26 20:21:45 +01:00
Garret Alfert
15196ca4b9 Check IF_NONE_MATCH header for directory listings 2016-01-23 14:29:37 -05:00
Garret Alfert
bec9f7a6cc Set ETag header for directory listings 2016-01-23 14:29:18 -05:00
Garret Alfert
c676c1a6a8 Add metadata entry for root directory 2016-01-23 14:28:14 -05:00
Garret Alfert
599865cf3f Generate directory listing from Redis metadata 2016-01-23 13:26:38 -05:00
Garret Alfert
dfc8a59096 Fix redis keys and content for nested directories 2016-01-23 13:20:42 -05:00
Garret Alfert
25c170021e Delete metadata from Redis when deleting objects 2016-01-22 16:04:28 -05:00
Garret Alfert
189d04af25 Save list of directory items in redis 2016-01-20 17:27:00 -05:00
Garret Alfert
cd2c0865e8 Save directory metadata in redis (WIP) 2016-01-20 15:53:22 -05:00
Garret Alfert
990ea9cf28 Save object metadata in redis 2016-01-20 15:33:35 -05:00
Greg Karékinian
a026d18e02 Fix uploads to root directory
The `url_for_key` method returned a double slash because `directory` is
an empty string when uploading to the root directory

Refs #70
2015-11-16 16:52:54 +01:00
Greg Karékinian
ad687839b0 Send token to Sentry for debugging purposes 2015-09-30 16:04:43 +02:00
Greg Karékinian
6f3b688b84 Reload token when it was read from file more than 1 hour ago 2015-09-28 17:15:03 +02:00
Greg Karékinian
e07b763e22 Fix a regression with ETag and If-None-Match 2015-06-30 15:05:11 +02:00
Greg Karékinian
8c30bdcce5 Really fix the directory listing for a user's root 2015-06-30 14:59:07 +02:00
Greg Karékinian
87741d002a Generate an ETag for a container's root 2015-06-30 14:06:40 +02:00
Greg Karékinian
0e450c5e5c Fix root directory listing
It was flattened by accident

Refs #62
2015-06-29 21:21:58 +02:00
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