|
f0d6e6c2c4
|
Add TODO note
|
2024-03-05 16:59:37 +01:00 |
|
|
8bcf3854c2
|
Remove obsolete method
|
2024-03-05 16:58:36 +01:00 |
|
|
771ff97cfe
|
Improve argument name
It's used in the code for escaping only parts of URLs
|
2024-03-05 16:57:15 +01:00 |
|
|
bf14785404
|
Fix invalid PUT signatures for URI-encoded paths
Tests / test (6, 2.7) (pull_request) Failing after 19s
Tests / test (6, 3.0) (pull_request) Failing after 3s
Tests / test (6, 3.1) (pull_request) Failing after 3s
Tests / test (7, 2.7) (pull_request) Failing after 3s
Tests / test (7, 3.0) (pull_request) Failing after 3s
Tests / test (7, 3.1) (pull_request) Failing after 3s
We encode the URLs ourselves, and the default option for the aws-sigv4
gem breaks that functionality.
|
2024-03-04 17:17:44 +01:00 |
|
|
209fcca5ea
|
Make headers argument optional
|
2023-11-21 15:18:13 +01:00 |
|
|
b7ff3e7d42
|
Remove debug output, rescue
|
2023-11-16 10:27:58 +01:00 |
|
|
02820203f0
|
Switch to AWS V4 signatures
|
2023-11-15 19:05:21 +01:00 |
|
|
53eb5461fe
|
Add ENV vars to config file, switch to ERB template
|
2023-10-26 16:17:49 +02:00 |
|
|
e90ed70002
|
Remove Webrick method in favor of stdlib
|
2023-10-26 15:58:04 +02:00 |
|
|
b56eb30180
|
Remove Swift storage adapter
|
2022-05-13 13:07:50 +02:00 |
|
Greg Karékinian
|
c2d5fc9e07
|
Move the Content-Type format validation with the other validations
|
2020-04-15 14:23:12 +02:00 |
|
Greg Karékinian
|
71d138894e
|
Validate the Content-Type on PUT requests
Return a 415
(https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/415) when the
Content-Type does not look like a valid MIME type (in the type/subtype
format)
Refs #137
|
2020-04-15 13:49:33 +02:00 |
|
Greg Karékinian
|
1824766a03
|
Implement Range support for the Swift provider, with specs
|
2020-01-06 14:03:26 +01:00 |
|
Greg Karékinian
|
8c95e804ca
|
Add support for partial responses
Set the Content-Range response header and return a 206 status if it is a
partial response (a Range was passed)
|
2020-01-02 18:24:12 +01:00 |
|
Greg Karékinian
|
da7f077300
|
Pass the Range HTTP header to GET requests if present
|
2020-01-02 18:23:47 +01:00 |
|
Garret Alfert
|
575f4a87be
|
Set the response headers from Redis metadata on GET
|
2018-11-26 11:33:21 +01:00 |
|
Greg Karékinian
|
d05cd4a760
|
Do not do an extra HEAD request after a PUT for Last-Modified
Use the Date header from a PUT request as the Last-Modified time that we
store in Redis
|
2018-07-18 19:37:05 +02:00 |
|
Greg Karékinian
|
b4ad4c4793
|
Set the Content-Length on a HEAD requests
We get it as part of the Redis metadata
RFC: https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.13
|
2018-05-22 12:44:24 +02:00 |
|
Garret Alfert
|
533c9b6346
|
Set Content-type header on HEAD requests
Fixes #121
|
2018-05-22 11:59:55 +02:00 |
|
Greg Karékinian
|
639c3724f0
|
Refactor the put_request method to have a return value
|
2018-05-09 16:01:14 +02:00 |
|
Greg Karékinian
|
709f63555d
|
Rewrite to avoid long lines
|
2018-05-09 15:55:00 +02:00 |
|
Greg Karékinian
|
0ec76c8140
|
Fix coding style for a hash
|
2018-05-09 15:26:32 +02:00 |
|
Greg Karékinian
|
f14ef4dc21
|
Consider that the metadata has changed when the Last-Modified changes
Also adds a spec for it
|
2018-04-30 16:39:12 +02:00 |
|
Greg Karékinian
|
ca0127d6a6
|
Rename the S3 provider to just S3
|
2018-04-30 15:46:18 +02:00 |
|
Greg Karékinian
|
1532a23d29
|
Reorder the argument in authorization_headers_for
Make content_type and md5 optional (set to nil by default)
|
2018-04-30 15:30:16 +02:00 |
|
Greg Karékinian
|
97cd5ec837
|
Move a comment to the relevant line
|
2018-04-30 15:15:04 +02:00 |
|
Greg Karékinian
|
3b72b8d0bb
|
Pass the headers to the set_response_headers directly, not the response
|
2018-04-30 15:12:53 +02:00 |
|
Greg Karékinian
|
b00fc5bee2
|
Reverse the not found logic in the delete_data method to make it clearer
|
2018-04-30 15:10:55 +02:00 |
|
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 |
|