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
|
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
|
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
|
c1d60586ec
|
Improve some spec wordings
|
2016-06-03 01:08:52 +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
|
a349db5243
|
Spec for directory listing of non-existing directories
|
2016-06-02 18:57:40 +02:00 |
|
Garret Alfert
|
576e4a9afb
|
Specs for response headers on GET requests
|
2016-06-02 18:57:37 +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
|
df87deaf0b
|
Don't fail when order of array is different
|
2016-03-04 22:48:50 +01:00 |
|
Garret Alfert
|
648f86e0f3
|
Fix typo in specs
|
2016-03-04 22:40:04 +01: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
|
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 |
|
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 |
|
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
|
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
|
16dcc56fba
|
No need to stub has_name_collision? anymore
|
2016-01-29 15:16:24 +01:00 |
|
Garret Alfert
|
4ca67c7ea9
|
Do collision detection via Redis metadata
|
2016-01-28 19:15:50 +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
|
f73c286ce9
|
Purge all keys from redis before every test run
|
2016-01-23 12:34:08 -05:00 |
|
Garret Alfert
|
25c170021e
|
Delete metadata from Redis when deleting objects
|
2016-01-22 16:04:28 -05:00 |
|
Garret Alfert
|
972378e67f
|
Don't care for order of array when comparing
|
2016-01-22 14:46:41 -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 |
|