public function __construct(RequestWrapper $requestWrapper, $data, $uri, array $options = [])
{
$this->requestWrapper = $requestWrapper;
$this->data = Psr7\stream_for($data);
$this->uri = $uri;
$this->metadata = isset($options['metadata']) ? $options['metadata'] : [];
$this->chunkSize = isset($options['chunkSize']) ? $options['chunkSize'] : null;
$this->requestOptions = array_intersect_key($options, ['httpOptions' => null, 'retries' => null]);
$this->contentType = isset($options['contentType']) ? $options['contentType'] : 'application/octet-stream';
}