114 Commits

Author SHA1 Message Date
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
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
256b3c426e Use ETags as version in directory listings 2013-10-27 22:29:17 +01:00