Google\Cloud\Storage\Connection\Rest::resolveUploadOptions PHP Method

resolveUploadOptions() private method

private resolveUploadOptions ( array $args )
$args array
    private function resolveUploadOptions(array $args)
    {
        $args += ['bucket' => null, 'name' => null, 'validate' => true, 'resumable' => null, 'predefinedAcl' => 'private', 'metadata' => []];
        $args['data'] = Psr7\stream_for($args['data']);
        if ($args['resumable'] === null) {
            $args['resumable'] = $args['data']->getSize() > AbstractUploader::RESUMABLE_LIMIT;
        }
        if (!$args['name']) {
            $args['name'] = basename($args['data']->getMetadata('uri'));
        }
        // @todo add support for rolling hash
        if ($args['validate'] && !isset($args['metadata']['md5Hash'])) {
            $args['metadata']['md5Hash'] = base64_encode(Psr7\hash($args['data'], 'md5', true));
        }
        $args['metadata']['name'] = $args['name'];
        unset($args['name']);
        $args['contentType'] = isset($args['metadata']['contentType']) ? $args['metadata']['contentType'] : Psr7\mimetype_from_filename($args['metadata']['name']);
        $uploaderOptionKeys = ['httpOptions', 'retries', 'chunkSize', 'contentType', 'metadata'];
        $args['uploaderOptions'] = array_intersect_key($args, array_flip($uploaderOptionKeys));
        $args = array_diff_key($args, array_flip($uploaderOptionKeys));
        return $args;
    }