Greg Karékinian
							
						 
					 | 
					
						
						
						
						
							
						
						
							21dad2aba7
							
						
					 | 
					
						
						
							
							Get the metadata from Redis on a HEAD request
						
						
						
						
						
						
						
						No need to hit the storage backend, we can set the response headers from
the data in Redis 
						
						
					 | 
					
						2018-04-26 13:17:43 +02:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Greg Karékinian
							
						 
					 | 
					
						
						
						
						
							
						
						
							7bd45543f6
							
						
					 | 
					
						
						
							
							Set headers from the Redis metadata on a GET that results in a 304
						
						
						
						
						
						
						
						Also add specs to check for the response headers 
						
						
					 | 
					
						2018-04-26 13:17:43 +02:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Greg Karékinian
							
						 
					 | 
					
						
						
						
						
							
						
						
							f083022e6d
							
						
					 | 
					
						
						
							
							Get the ETag from Redis on a GET request
						
						
						
						
						
						
						
						This prevents doing a network request when we would return a 304 anyway 
						
						
					 | 
					
						2018-04-26 13:17:43 +02:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Greg Karékinian
							
						 
					 | 
					
						
						
						
						
							
						
						
							86dc45f444
							
						
					 | 
					
						
						
							
							Add support for S3 through the REST API
						
						
						
						
						
						
						
						This is currently using the old S3 authentication
(https://s3.amazonaws.com/doc/s3-developer-guide/RESTAuthentication.html),
in order to support Exoscale Storage
Refs #112 
						
						
					 | 
					
						2018-04-26 13:17:43 +02:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Greg Karékinian
							
						 
					 | 
					
						
						
						
						
							
						
						
							ac6bec48c4
							
						
					 | 
					
						
						
							
							Remove all Riak code and its dependencies
						
						
						
						
						
						
						
						Closes #75 
						
						
					 | 
					
						2018-04-16 11:54:32 +02:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
							
						
						
						
							
						
						
							60c508fba9
							
						
					 | 
					
						
						
							
							Add Last-Modified date to document items in listings
						
						
						
						
						
						
						
						Not in RS spec draft yet, see https://github.com/remotestorage/spec/issues/158 for discussion. 
						
						
					 | 
					
						2018-03-12 16:32:00 +02:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Greg Karékinian
							
						 
					 | 
					
						
						
						
						
							
						
						
							3ddcccaee7
							
						
					 | 
					
						
						
							
							Handle the case of a PUT on a non-existing object
						
						
						
						
						
						
						
						The previous code was returning a 500 because the HEAD request failed 
						
						
					 | 
					
						2018-01-05 13:11:47 +01:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Garret Alfert
							
						 
					 | 
					
						
						
						
						
							
						
						
							2fac808343
							
						
					 | 
					
						
						
							
							Split list of ETAGs before removing Weak indicator
						
						
						
						
						
						
					 | 
					
						2018-01-05 06:55:46 +01:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Garret Alfert
							
						 
					 | 
					
						
						
						
						
							
						
						
							18670021b1
							
						
					 | 
					
						
						
							
							Handle out of sync metadata in Redis on PUTs
						
						
						
						
						
						
						
						When the IF-MATCH comparison fails, we check the actual metadata on
the Swift server to be sure. 
						
						
					 | 
					
						2018-01-05 06:49:42 +01:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Garret Alfert
							
						 
					 | 
					
						
						
						
						
							
						
						
							24ae9ad893
							
						
					 | 
					
						
						
							
							Allow for weak ETAGs with leading quote
						
						
						
						
						
						
						
						The remoteStorage client currently surrounds all ETAGs with quotes, so
instead of W\"etag" it looks like "W\"etag". 
						
						
					 | 
					
						2018-01-03 22:06:03 +01:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Garret Alfert
							
						 
					 | 
					
						
						
						
						
							
						
						
							8ffd15bb61
							
						
					 | 
					
						
						
							
							Ignore weak ETAG prefix when comparing MATCH headers
						
						
						
						
						
						
						
						Our metadata only contains the actual ETAG value, so we need
to use only that when comparing it. 
						
						
					 | 
					
						2018-01-03 21:31:25 +01:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Greg Karékinian
							
						 
					 | 
					
						
						
						
						
							
						
						
							c1ed996b1d
							
						
					 | 
					
						
						
							
							Only send the first 20 characters of the token
						
						
						
						
						
						
					 | 
					
						2016-10-19 15:05:30 +02:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Greg Karékinian
							
						 
					 | 
					
						
						
						
						
							
						
						
							be43a7474a
							
						
					 | 
					
						
						
							
							Remove line break from the token file when loading it
						
						
						
						
						
						
					 | 
					
						2016-10-18 18:03:02 +02:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Garret Alfert
							
						 
					 | 
					
						
						
						
						
							
						
						
							35abddc4ea
							
						
					 | 
					
						
						
							
							Remove container migration checks
						
						
						
						
						
						
					 | 
					
						2016-09-12 11:49:23 +02:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Garret Alfert
							
						 
					 | 
					
						
						
						
						
							
						
						
							74428408b1
							
						
					 | 
					
						
						
							
							Use new Redis migration hash in Liquor Cabinet itself
						
						
						
						
						
						
					 | 
					
						2016-09-07 18:13:52 +02:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Garret Alfert
							
						 
					 | 
					
						
						
						
						
							
						
						
							90a6753d88
							
						
					 | 
					
						
						
							
							Use container path directly, instead of hiding it behind a method
						
						
						
						
						
						
					 | 
					
						2016-09-06 16:36:43 +02:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Garret Alfert
							
						 
					 | 
					
						
						
						
						
							
						
						
							e6fa6ca586
							
						
					 | 
					
						
						
							
							User proper container and path based on migration state
						
						
						
						
						
						
					 | 
					
						2016-09-05 18:27:35 +02:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Garret Alfert
							
						 
					 | 
					
						
						
						
						
							
						
						
							c79b86bff5
							
						
					 | 
					
						
						
							
							Change Redis key for container migration
						
						
						
						
						
						
					 | 
					
						2016-09-02 16:41:36 +02:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Garret Alfert
							
						 
					 | 
					
						
						
						
						
							
						
						
							fdc819d53d
							
						
					 | 
					
						
						
							
							Determine which container to use from Redis
						
						
						
						
						
						
					 | 
					
						2016-09-02 15:15:48 +02:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Garret Alfert
							
						 
					 | 
					
						
						
						
						
							
						
						
							49ec6effa7
							
						
					 | 
					
						
						
							
							Remove unused method
						
						
						
						
						
						
					 | 
					
						2016-09-02 15:10:01 +02:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							8ad882d5ab
							
						
					 | 
					
						
						
							
							If user container doesn't exist, use shared container
						
						
						
						
						
						
					 | 
					
						2016-09-01 18:12:52 +02:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							6448642477
							
						
					 | 
					
						
						
							
							Return 503 for PUT/DELETE during user migration
						
						
						
						
						
						
					 | 
					
						2016-09-01 17:14:42 +02:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Greg Karékinian
							
						 
					 | 
					
						
						
						
						
							
						
						
							b68c5d8409
							
						
					 | 
					
						
						
							
							Merge pull request #94 from 5apps/feature/86-respond_with_201_on_create
						
						
						
						
						
						
						
						Respond with status 201 when creating new objects 
						
						
					 | 
					
						2016-08-08 14:47:07 +02:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Garret Alfert
							
						 
					 | 
					
						
						
						
						
							
						
						
							7a8694fd55
							
						
					 | 
					
						
						
							
							Respond with status 201 when creating new objects
						
						
						
						
						
						
						
						closes #86 
						
						
					 | 
					
						2016-08-05 17:43:47 +02:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Garret Alfert
							
						 
					 | 
					
						
						
						
						
							
						
						
							5891cb9cf0
							
						
					 | 
					
						
						
							
							Make sure to delete existing metadata on DELETE
						
						
						
						
						
						
						
						fixes #80 
						
						
					 | 
					
						2016-08-05 17:17:59 +02:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Greg Karékinian
							
						 
					 | 
					
						
						
						
						
							
						
						
							74063a3f66
							
						
					 | 
					
						
						
							
							Reload swift token from file every 30 minutes
						
						
						
						
						
						
						
						We have seen requests fail because of an expired token that was loaded
from file less than an hour ago 
						
						
					 | 
					
						2016-07-23 11:30:55 +02:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Greg Karékinian
							
						 
					 | 
					
						
						
						
						
							
						
						
							ad0ea12059
							
						
					 | 
					
						
						
							
							Return 401 when getting an empty bearer token
						
						
						
						
						
						
						
						For example:
Authorization: Bearer
The cause of the empty bearer also needs to be investigated 
						
						
					 | 
					
						2016-07-20 17:27:44 +02:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Garret Alfert
							
						 
					 | 
					
						
						
						
						
							
						
						
							995ba52886
							
						
					 | 
					
						
						
							
							Log user's storage size in Redis
						
						
						
						
						
						
					 | 
					
						2016-06-13 13:18:10 +02:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Garret Alfert
							
						 
					 | 
					
						
						
						
						
							
						
						
							28b6a7f22d
							
						
					 | 
					
						
						
							
							Merge branch 'master' into feature/update_to_recent_rs_spec
						
						
						
						
						
						
						
						# Conflicts:
#	spec/swift/app_spec.rb 
						
						
					 | 
					
						2016-06-02 22:21:16 +02:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Garret Alfert
							
						 
					 | 
					
						
						
						
						
							
						
						
							16e51038b1
							
						
					 | 
					
						
						
							
							Send ETag of deleted item in header
						
						
						
						
						
						
					 | 
					
						2016-06-02 18:56:45 +02:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Garret Alfert
							
						 
					 | 
					
						
						
						
						
							
						
						
							ed8061b594
							
						
					 | 
					
						
						
							
							Use content type "application/ld+json" for directory listings
						
						
						
						
						
						
					 | 
					
						2016-06-02 18:54:47 +02:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Garret Alfert
							
						 
					 | 
					
						
						
						
						
							
						
						
							c897959029
							
						
					 | 
					
						
						
							
							Send "Precondition Failed" message body with 412 responses
						
						
						
						
						
						
					 | 
					
						2016-06-02 18:49:44 +02:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Garret Alfert
							
						 
					 | 
					
						
						
						
						
							
						
						
							cc91b5c4cd
							
						
					 | 
					
						
						
							
							Send "Not Found" message body with 404 responses (refs #42)
						
						
						
						
						
						
					 | 
					
						2016-06-02 13:19:06 +02:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Garret Alfert
							
						 
					 | 
					
						
						
						
						
							
						
						
							83d8f29a04
							
						
					 | 
					
						
						
							
							Send "Conflict" message body with 409 responses (closes #409)
						
						
						
						
						
						
					 | 
					
						2016-06-02 13:18:59 +02:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					
						
							
							
								 
								Garret Alfert
							
						 
					 | 
					
						
						
						
						
							
						
						
							9a9a9c79e5
							
						
					 | 
					
						
						
							
							Send "Unauthorized" message body with 401 responses (refs #42)
						
						
						
						
						
						
					 | 
					
						2016-06-02 13:18:51 +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 | 
					
					
						
						
							
							
							
						
					 |