/**
  * Returns the Content-MD5 of the limited subset of data
  * {@inheritdoc}
  */
 public function getContentMd5($rawOutput = false, $base64Encode = false)
 {
     return EntityBody::calculateMd5($this, $rawOutput, $base64Encode);
 }
示例#2
0
 /**
  * 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;
 }