/** * Returns the Content-MD5 of the limited subset of data * {@inheritdoc} */ public function getContentMd5($rawOutput = false, $base64Encode = false) { return EntityBody::calculateMd5($this, $rawOutput, $base64Encode); }
/** * Create the request needed for this upload to the API. * * @param EntityBody $part The entity body being uploaded * @param int $number Its number/position, needed for name * @param OpenStack $client Client responsible for issuing requests * @param array $options Set by the Transfer object * @return OpenCloud\Common\Http\Request */ public static function createRequest($part, $number, $client, $options) { $name = sprintf('%s/%s/%d', $options['objectName'], $options['prefix'], $number); $url = clone $options['containerUrl']; $url->addPath($name); $headers = array(Header::CONTENT_LENGTH => $part->getContentLength(), Header::CONTENT_TYPE => $part->getContentType()); if ($options['doPartChecksum'] === true) { $headers['ETag'] = $part->getContentMd5(); } $request = $client->put($url, $headers, $part); if (isset($options['progress'])) { $request->getCurlOptions()->add('progress', true); if (is_callable($options['progress'])) { $request->getCurlOptions()->add('progressCallback', $options['progress']); } } return $request; }