Merge pull request #3083 from bblommers/s3-delete-object-tagging
S3: Delete Object Tagging
This commit is contained in:
commit
3ccf8f6cbf
4 changed files with 23 additions and 3 deletions
|
|
@ -1566,6 +1566,10 @@ class S3Backend(BaseBackend):
|
|||
bucket = self.get_bucket(bucket_name)
|
||||
bucket.keys[key_name] = FakeDeleteMarker(key=bucket.keys[key_name])
|
||||
|
||||
def delete_object_tagging(self, bucket_name, key_name, version_id=None):
|
||||
key = self.get_object(bucket_name, key_name, version_id=version_id)
|
||||
self.tagger.delete_all_tags_for_resource(key.arn)
|
||||
|
||||
def delete_object(self, bucket_name, key_name, version_id=None):
|
||||
key_name = clean_key_name(key_name)
|
||||
bucket = self.get_bucket(bucket_name)
|
||||
|
|
|
|||
|
|
@ -1618,6 +1618,12 @@ class ResponseObject(_TemplateEnvironmentMixin, ActionAuthenticatorMixin):
|
|||
self.backend.cancel_multipart(bucket_name, upload_id)
|
||||
return 204, {}, ""
|
||||
version_id = query.get("versionId", [None])[0]
|
||||
if "tagging" in query:
|
||||
self.backend.delete_object_tagging(
|
||||
bucket_name, key_name, version_id=version_id
|
||||
)
|
||||
template = self.response_template(S3_DELETE_KEY_TAGGING_RESPONSE)
|
||||
return 204, {}, template.render(version_id=version_id)
|
||||
self.backend.delete_object(bucket_name, key_name, version_id=version_id)
|
||||
return 204, {}, ""
|
||||
|
||||
|
|
@ -1935,6 +1941,12 @@ S3_DELETE_KEYS_RESPONSE = """<?xml version="1.0" encoding="UTF-8"?>
|
|||
{% endfor %}
|
||||
</DeleteResult>"""
|
||||
|
||||
S3_DELETE_KEY_TAGGING_RESPONSE = """<?xml version="1.0" encoding="UTF-8"?>
|
||||
<DeleteObjectTaggingResult xmlns="http://s3.amazonaws.com/doc/2006-03-01">
|
||||
<VersionId>{{version_id}}</VersionId>
|
||||
</DeleteObjectTaggingResult>
|
||||
"""
|
||||
|
||||
S3_OBJECT_ACL_RESPONSE = """<?xml version="1.0" encoding="UTF-8"?>
|
||||
<AccessControlPolicy xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
|
||||
<Owner>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue