Commit Graph

257 Commits

Author SHA1 Message Date
Codeglitches
9f9716ee01
Check S3_IGNORE_SUBDOMAIN_BUCKETNAME environment variable (#3796)
* Check S3_IGNORE_SUBDOMAIN_BUCKETNAME environment variable

* move S3_IGNORE_SUBDOMAIN_BUCKETNAME environment variable to settings
2021-03-26 16:51:19 +00:00
Tibor Djurica Potpara
b06e77b604
Make put-object-acl return 404 if the key does not exist (#3777)
Co-authored-by: Tibor Djurica Potpara <tibor.djurica@reddit.com>
2021-03-16 22:24:41 +00:00
wynnw
891118a7c7
#3667: Update the s3 post functionality to better support success_action_redirect (#3668)
* Update the s3 post functionality to better support success_action_redirect

- Add the bucket/key values to the redirect url like s3 does, which
supports code that relies on the key value being there on the
redirect.
- Add support for replacing ${filename} in the key value with the actual
filename from the form upload.

See Issue #3667

* Update s3 tests for changed success_action_redirect behavior

- Adds a new test called test_s3_server_post_to_bucket_redirect that
tests both the ${filename} replacement and the key/value addition to the
redirect query args
- Updated the test_creating_presigned_post checks to handle the
key/value additions to the redirect url.

* Fix test updates to work with python2.7

- remove f-string usage
- fix urllib.parse imports to use six

Co-authored-by: Wynn Wilkes <wynn@leading2lean.com>
2021-02-10 09:06:03 +00:00
Rahul Ranjan
7d066cea2f
Add versionid header in complete multipart if enabled (#3643)
* Add versionid header in complete multipart if enabled
- addresses https://github.com/localstack/localstack/issues/3514

* remove unnecessary code

* fix lint

* fix lint test

* add test case for boto3
2021-02-02 09:51:17 +00:00
Macwan Nevil
02ac5ca111
added sse support for s3 (#3592)
* added sse support for s3

* lint fixed for py37
2021-01-18 18:17:13 +00:00
Rahul Ranjan
628c026a07
Sort s3 object versions by last_modified_on in descending order (#3588)
* Sort s3 object versions by last_modified_on in descending order

- addresses https://github.com/localstack/localstack/issues/3433

* fix for python 2

* fix lint
2021-01-15 18:28:28 +00:00
Bert Blommers
d1696a37e5
#2710 - S3 - Raise specific error when GetObject is called with unknown VersionId (#3532) 2021-01-13 16:06:09 +00:00
Bert Blommers
df8bd43a45
#2965 - S3 - GetObject - Treat empty Range-argument as a regular GET (#3531) 2021-01-13 10:00:18 +00:00
irahulranjan
dffc0e449c
Fix: ListObjectsV2 behaving differently than AWS API (#3545)
* fix : localstack issue https://github.com/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22+language%3Ago

* add assertion for error message as well
2020-12-13 13:38:25 +00:00
Bert Blommers
cc27f1ef0c S3 - Add more detail to error responses 2020-10-28 14:22:18 +00:00
Steve Pulec
d54eafa420
Merge pull request #3326 from bblommers/bugfix/3306
Fix S3 creation date for AWS Java SDK
2020-09-22 16:44:56 -05:00
usmangani1
0b9903a3df
Fix:s3 List Object response:delimiter (#3254)
* Fix:s3 List Object delimiter in response

* fixed tests

* fixed failed tests

Co-authored-by: usmankb <usman@krazybee.com>
2020-09-21 16:21:18 +01:00
ruthbovell
1022aa0968
Issue 3224 s3 copy glacier object (#3318)
* 3224 Enhancement - S3 Copy restored glacier objects

- adds setter for expiry date
- copy sets expiry date to none when source is glacier object
- throws error for copying glacier object only if not restored/still restoring

* 3224 Enhancement - S3 Copy restored glacier objects

- throws error for copying deep archive object only if not restored/still restoring
2020-09-21 07:37:50 +01:00
Bert Blommers
8c94893869 #3306 - Fix S3 creation date for AWS Java SDK 2020-09-19 20:12:11 +01:00
Leo Sutic
94543f6e48
Include response headers when deleting objects. (#3313)
* Return delete meta.

* Add tests.

* Lint fixes.

Co-authored-by: Leo Sutic <leo.sutic@matterport.com>
2020-09-15 13:29:09 +01:00
Arcadiy Ivanov
c2d1ce2c14
Add If-Match, If-None-Match and If-Unmodified-Since to S3 GET/HEAD (#3021)
fixes #2705
2020-09-11 10:17:39 +01:00
usmangani1
d2e16ecc2e
Fix:s3 Presign Post with object acl (#3246)
* Fix:s3 Presign Post with object acl

* Added import in tests

Co-authored-by: usmankb <usman@krazybee.com>
2020-09-02 18:35:53 +01:00
usmangani1
00a5641cb9
Fix:s3 Presign Put Request with File upload (#3235)
* Fix:s3 Presign Put Request with File upload

* Added imports in test

Co-authored-by: usmankb <usman@krazybee.com>
2020-09-02 07:10:56 +01:00
Bert Blommers
8b63421321 S3 - Only add metadata once; use binary file content 2020-07-12 18:29:10 +01:00
Bert Blommers
b33c5dff06 #2104 - S3 - Persist metadata for Presigned URL 2020-07-12 13:33:46 +01:00
Bert Blommers
9ed7ba58df S3 - Implement delete_object_tagging 2020-06-20 12:15:29 +01:00
Dawn James
8ce12027dd
Return correct error when creating a bucket with empty CreateBucketConfiguration (#3079)
* Several updates to the contributor documentation with extra information.

* Fix failing test by providing a region.

* Create test for issue 2210.

* Check if CreateBucketConfiguration is supplied and empty; raise MalformedXML error if so.
2020-06-19 11:44:43 +01:00
Bert Blommers
20784a2d67 Improve implementation coverage 2020-06-06 13:15:50 +01:00
jweite
4d3e3c8c5e
implemented s3 default encryption methods (#3022)
* implemented s3 default encryption methods

* PR adjustments: moved logic for retrieving bucket's encrypted status to the backend.

Co-authored-by: Joseph Weitekamp <jweite@amazon.com>
2020-05-27 17:21:03 +01:00
Bert Blommers
49b00942c3 S3 DeleteObjects - Allow multiple querystring formats 2020-05-01 13:50:11 +01:00
Bert Blommers
b5a894dd89
Merge pull request #2919 from antoinewdg-mt/fix-s3-delete-objects-with-versioning
Handle VersionId in S3:delete_objects
2020-04-27 15:38:06 +01:00
Antoine Wendlinger
41abd4344b Use xmltodict for parsing 2020-04-27 11:42:27 +02:00
Steve Pulec
efbb9c54a5
Merge pull request #2909 from oliparcol/bug/2759
S3 - Allow keys to start with leading slashes
2020-04-25 18:46:25 -05:00
Steve Pulec
b24b7cb858
Merge branch 'master' into feature/extend_generic_tagger_to_s3 2020-04-25 18:40:50 -05:00
Olivier Parent Colombel
d852f7dd06 Fixing lint errors. 2020-04-25 17:49:50 +02:00
Olivier Parent Colombel
637e0188a2 Allow S3 keys to start with leading slashes. 2020-04-25 17:49:50 +02:00
Antoine Wendlinger
9ed6e52d0a Handle VersionId in S3:delete_objects
VersionId is not read in delete_objects requests, and the behavior
differs from its singular counterpart delete_object.

This fixes the issue.
2020-04-23 19:01:58 +02:00
Daniel Wallace
50a147592d
Make all CallbackResponse requests into a Werkzeug Request
The "request" object in CallbackResponse is the PreparedRequest send by
whatever client is used to contact the mocked moto service. This can end
up with unparsed bodies, as we added for processing presigned post
requests in #2155. This will make sure that all of the requests comming
in from mocked functions also get processed by werkzeug as if it was
running a live server.
2020-04-22 09:08:30 -05:00
Daniel Wallace
80b27a6b93
blacken 2020-04-21 21:43:32 -05:00
Daniel Wallace
4b0ba73204
use werkzeug
hooray, thanks pallets discord!
2020-04-21 20:13:53 -05:00
Daniel Wallace
49b056563a
process multipart form 2020-04-21 19:52:10 -05:00
Daniel Wallace
b3f6e5ab2f
add test 2020-04-21 18:07:50 -05:00
Daniel Wallace
156ba56fdc
set default status for s3 posts
and add support for success_action_redirect.
2020-04-21 18:06:43 -05:00
David Holroyd
a845de1142 PutObject and DeleteObject should produce no XML
S3 itself produces an empty body, with any response metadata in HTTP
headers only.
2020-04-06 21:01:43 +01:00
David Holroyd
16db824d8a Fix response XML structure 2020-04-06 00:19:19 +01:00
Bert Blommers
8dbfd43c5c Use TaggingService for S3 - Cleanup 2020-04-01 15:35:25 +01:00
Bert Blommers
f7ad4cbc09 Use TaggingService for S3 Objects 2020-03-31 12:04:04 +01:00
Bert Blommers
6dd6686afc Use TaggingService for S3 Buckets 2020-03-31 11:10:38 +01:00
Mike Grima
0c191ac33b Raise errors on tagging buckets with aws:*
Cannot tag S3 buckets with reserved tag key space `aws:`
2020-03-30 17:27:06 -07:00
Steve Pulec
6b6a059350
Merge pull request #2132 from Projectplace/tagging-directive
Support x-amz-tagging-directive in s3 copy_object
2020-02-17 20:00:30 -06:00
Steve Pulec
a1ffb47ae4
Merge pull request #2751 from mikegrima/s3control
Implemented S3 Account-level public access block.
2020-02-17 19:53:15 -06:00
Mike Grima
11b7be0e85 Implemented S3 Account-level public access block.
- Also added AWS Config listing and fetching support
- Also fixed Lambda test breakage
2020-02-17 15:41:27 -08:00
Daniel Wallace
01f3b60c09
Allow ports in k8s service urls for s3 mock
If there is a port in the host for the request, then this if statement
is not tripped.
2020-02-17 17:38:53 -06:00
Bert Blommers
f74f08581a S3 - Add IllegalLocationConstraint validation when creating buckets 2020-02-02 10:36:51 +00:00
Steve Pulec
19bf8bf762 Change S3 S3_ALL_BUCKETS response to return bucket creation_date in iso format. 2020-01-22 20:43:45 -06:00