def _bucket_response_delete(self, body, bucket_name, querystring):
    self._set_action('BUCKET', 'DELETE', querystring)
    self._authenticate_and_authorize_s3_action()
    if ('policy' in querystring):
        self.backend.delete_bucket_policy(bucket_name, body)
        return (204, {}, '')
    elif ('tagging' in querystring):
        self.backend.delete_bucket_tagging(bucket_name)
        return (204, {}, '')
    elif ('website' in querystring):
        self.backend.delete_bucket_website(bucket_name)
        return (204, {}, '')
    elif ('cors' in querystring):
        self.backend.delete_bucket_cors(bucket_name)
        return (204, {}, '')
    elif ('lifecycle' in querystring):
        self.backend.delete_bucket_lifecycle(bucket_name)
        return (204, {}, '')
    elif ('publicAccessBlock' in querystring):
        self.backend.delete_public_access_block(bucket_name)
        return (204, {}, '')
    elif ('encryption' in querystring):
        self.backend.delete_bucket_encryption(bucket_name)
        return (204, {}, '')
    removed_bucket = self.backend.delete_bucket(bucket_name)
    if removed_bucket:
        template = self.response_template(S3_DELETE_BUCKET_SUCCESS)
        return (204, {}, template.render(bucket=removed_bucket))
    else:
        template = self.response_template(S3_DELETE_BUCKET_WITH_ITEMS_ERROR)
        return (409, {}, template.render(bucket=removed_bucket))
def _bucket_response_delete(self, body, bucket_name, querystring):
    self._set_action('BUCKET', 'DELETE', querystring)
    self._authenticate_and_authorize_s3_action()
    if ('policy' in querystring):
        self.backend.delete_bucket_policy(bucket_name, body)
        return (204, {}, )
    elif ('tagging' in querystring):
        self.backend.delete_bucket_tagging(bucket_name)
        return (204, {}, )
    elif ('website' in querystring):
        self.backend.delete_bucket_website(bucket_name)
        return (204, {}, )
    elif ('cors' in querystring):
        self.backend.delete_bucket_cors(bucket_name)
        return (204, {}, )
    elif ('lifecycle' in querystring):
        self.backend.delete_bucket_lifecycle(bucket_name)
        return (204, {}, )
    elif ('publicAccessBlock' in querystring):
        self.backend.delete_public_access_block(bucket_name)
        return (204, {}, )
    elif ('encryption' in querystring):
        self.backend.delete_bucket_encryption(bucket_name)
        return (204, {}, )
    removed_bucket = self.backend.delete_bucket(bucket_name)
    if removed_bucket:
        template = self.response_template(S3_DELETE_BUCKET_SUCCESS)
        return (204, {}, template.render(bucket=removed_bucket))
    else:
        template = self.response_template(S3_DELETE_BUCKET_WITH_ITEMS_ERROR)
        return (409, {}, template.render(bucket=removed_bucket))