47 Commits

Author SHA1 Message Date
Garret Alfert
ed8061b594 Use content type "application/ld+json" for directory listings 2016-06-02 18:54:47 +02:00
Garret Alfert
1d39445ba9 Fix deleting metadata for empty subdirectories 2016-03-04 22:17:33 +01:00
Garret Alfert
5378826c6a Also use content checksum for ETag calculation
Timestamp is not enough, as it might be the same
for two consequent PUTs.
2016-03-04 22:17:25 +01:00
Garret Alfert
3590b7dedc Determine correct metadata key for objects in root dir 2016-03-04 20:47:41 +01:00
Garret Alfert
1c0bd18915 Delete obsolete method 2016-03-04 20:34:48 +01:00
Garret Alfert
43ff83d26b Don't allow PUTS with Content-Range header 2016-03-04 19:33:00 +01:00
Garret Alfert
fd3293025d ETags are quoted, doh 2016-03-04 19:32:36 +01:00
Garret Alfert
d08bc45489 Don't use or create any directory objects in Swift 2016-03-04 15:33:28 +01:00
d8fc27c8dd Merge pull request #73 from 5apps/features/redis_migration
Migration script for copying metadata to Redis
2016-03-02 23:47:42 +01:00
Garret Alfert
9b7b224f79 Use more explicit key name for items 2016-03-02 18:06:42 +01:00
Garret Alfert
c2fd9bc6d0 Change Redis metadata key prefix to rs:m 2016-03-02 18:04:38 +01:00
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