'@inherits: :class:`StorageDriver.upload_object_via_stream`
:param ex_storage_class: Storage class
:type ex_storage_class: ``str``'

def upload_object_via_stream(self, iterator, container, object_name, extra=None, ex_storage_class=None):

    method = 'PUT'
    params = None
    if self.supports_s3_multipart_upload:
        return self._put_object_multipart(container=container, object_name=object_name, extra=extra, stream=iterator, verify_hash=False, storage_class=ex_storage_class)
    return self._put_object(container=container, object_name=object_name, extra=extra, method=method, query_args=params, stream=iterator, verify_hash=False, storage_class=ex_storage_class)
