From 737be34e73947b959bfff1e48d7ecddb79d35d04 Mon Sep 17 00:00:00 2001 From: Garret Alfert Date: Tue, 26 Jan 2016 20:21:45 +0100 Subject: [PATCH] Configure the source of dir listing (redis or swift) --- config.yml.example | 1 + lib/remote_storage/swift.rb | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/config.yml.example b/config.yml.example index f0ed36d..5f65092 100644 --- a/config.yml.example +++ b/config.yml.example @@ -20,6 +20,7 @@ development: &defaults # redis: # host: localhost # port: 6379 + # use_redis_dir_listing: true test: <<: *defaults diff --git a/lib/remote_storage/swift.rb b/lib/remote_storage/swift.rb index 2581ab5..80a8406 100644 --- a/lib/remote_storage/swift.rb +++ b/lib/remote_storage/swift.rb @@ -75,6 +75,14 @@ module RemoteStorage end def get_directory_listing(user, directory) + if settings.use_redis_dir_listing + get_directory_listing_from_redis(user, directory) + else + get_directory_listing_from_swift + end + end + + def get_directory_listing_from_redis(user, directory) etag = redis.hget "rs_meta:#{user}:#{directory}/", "etag" none_match = (server.env["HTTP_IF_NONE_MATCH"] || "").split(",").map(&:strip)