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 |
|
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 |
|