Esempio n. 1
0
 /**
  * Creates GetBlobPropertiesResult from headers array.
  * 
  * @param array $headers The HTTP response headers array.
  * 
  * @return GetBlobPropertiesResult
  */
 private function _getBlobPropertiesResultFromResponse($headers)
 {
     $result = new GetBlobPropertiesResult();
     $properties = new BlobProperties();
     $d = $headers[Resources::LAST_MODIFIED];
     $bType = $headers[Resources::X_MS_BLOB_TYPE];
     $cLength = intval($headers[Resources::CONTENT_LENGTH]);
     $lStatus = Utilities::tryGetValue($headers, Resources::X_MS_LEASE_STATUS);
     $cType = Utilities::tryGetValue($headers, Resources::CONTENT_TYPE);
     $cMD5 = Utilities::tryGetValue($headers, Resources::CONTENT_MD5);
     $cEncoding = Utilities::tryGetValue($headers, Resources::CONTENT_ENCODING);
     $cLanguage = Utilities::tryGetValue($headers, Resources::CONTENT_LANGUAGE);
     $cControl = Utilities::tryGetValue($headers, Resources::CACHE_CONTROL);
     $etag = $headers[Resources::ETAG];
     $metadata = $this->getMetadataArray($headers);
     if (array_key_exists(Resources::X_MS_BLOB_SEQUENCE_NUMBER, $headers)) {
         $sNumber = intval($headers[Resources::X_MS_BLOB_SEQUENCE_NUMBER]);
         $properties->setSequenceNumber($sNumber);
     }
     $properties->setBlobType($bType);
     $properties->setCacheControl($cControl);
     $properties->setContentEncoding($cEncoding);
     $properties->setContentLanguage($cLanguage);
     $properties->setContentLength($cLength);
     $properties->setContentMD5($cMD5);
     $properties->setContentType($cType);
     $properties->setETag($etag);
     $properties->setLastModified(Utilities::rfc1123ToDateTime($d));
     $properties->setLeaseStatus($lStatus);
     $result->setProperties($properties);
     $result->setMetadata($metadata);
     return $result;
 }
Esempio n. 2
0
 /**
  * Creates BlobProperties object from $parsed response in array representation
  * 
  * @param array $parsed parsed response in array format.
  * 
  * @return BlobProperties
  */
 public static function create($parsed)
 {
     $result = new BlobProperties();
     $clean = array_change_key_case($parsed);
     $date = Utilities::tryGetValue($clean, Resources::LAST_MODIFIED);
     $result->setBlobType(Utilities::tryGetValue($clean, 'blobtype'));
     $result->setContentLength(intval($clean[Resources::CONTENT_LENGTH]));
     $result->setETag(Utilities::tryGetValue($clean, Resources::ETAG));
     if (!is_null($date)) {
         $date = Utilities::rfc1123ToDateTime($date);
         $result->setLastModified($date);
     }
     $result->setLeaseStatus(Utilities::tryGetValue($clean, 'leasestatus'));
     $result->setLeaseStatus(Utilities::tryGetValue($clean, Resources::X_MS_LEASE_STATUS, $result->getLeaseStatus()));
     $result->setSequenceNumber(intval(Utilities::tryGetValue($clean, Resources::X_MS_BLOB_SEQUENCE_NUMBER)));
     $result->setContentRange(Utilities::tryGetValue($clean, Resources::CONTENT_RANGE));
     $result->setCacheControl(Utilities::tryGetValue($clean, Resources::CACHE_CONTROL));
     $result->setBlobType(Utilities::tryGetValue($clean, Resources::X_MS_BLOB_TYPE, $result->getBlobType()));
     $result->setContentEncoding(Utilities::tryGetValue($clean, Resources::CONTENT_ENCODING));
     $result->setContentLanguage(Utilities::tryGetValue($clean, Resources::CONTENT_LANGUAGE));
     $result->setContentMD5(Utilities::tryGetValue($clean, Resources::CONTENT_MD5));
     $result->setContentType(Utilities::tryGetValue($clean, Resources::CONTENT_TYPE));
     return $result;
 }
 /**
  * @covers WindowsAzure\Blob\Models\BlobProperties::setETag
  * @covers WindowsAzure\Blob\Models\BlobProperties::getETag
  */
 public function testSetETag()
 {
     // Setup
     $expected = '0x8CAFB82EFF70C46';
     $properties = new BlobProperties();
     $properties->setETag($expected);
     // Test
     $properties->setETag($expected);
     // Assert
     $this->assertEquals($expected, $properties->getETag());
 }