/** * Creates GetBlobResult from getBlob call. * * @param array $headers The HTTP response headers. * @param string $body The response body. * @param array $metadata The blob metadata. * * @return GetBlobResult */ public static function create($headers, $body, $metadata) { $result = new GetBlobResult(); $result->setContentStream(Utilities::stringToStream($body)); $result->setProperties(BlobProperties::create($headers)); $result->setMetadata(is_null($metadata) ? array() : $metadata); return $result; }
/** * @covers MicrosoftAzure\Storage\Blob\Models\BlobProperties::create */ public function testCreate() { // Setup $sample = TestResources::listBlobsOneEntry(); $expected = $sample['Blobs']['Blob']['Properties']; $expectedDate = Utilities::rfc1123ToDateTime($expected['Last-Modified']); // Test $actual = BlobProperties::create($expected); // Assert $this->assertEquals($expectedDate, $actual->getLastModified()); $this->assertEquals($expected['Etag'], $actual->getETag()); $this->assertEquals(intval($expected['Content-Length']), $actual->getContentLength()); $this->assertEquals($expected['Content-Type'], $actual->getContentType()); $this->assertEquals($expected['Content-Encoding'], $actual->getContentEncoding()); $this->assertEquals($expected['Content-Language'], $actual->getContentLanguage()); $this->assertEquals($expected['Content-MD5'], $actual->getContentMD5()); $this->assertEquals($expected['Cache-Control'], $actual->getCacheControl()); $this->assertEquals(intval($expected['x-ms-blob-sequence-number']), $actual->getSequenceNumber()); $this->assertEquals($expected['BlobType'], $actual->getBlobType()); $this->assertEquals($expected['LeaseStatus'], $actual->getLeaseStatus()); }
/** * Creates ListBlobsResult object from parsed XML response. * * @param array $parsed XML response parsed into array. * * @return ListBlobsResult */ public static function create($parsed) { $result = new ListBlobsResult(); $serviceEndpoint = Utilities::tryGetKeysChainValue($parsed, Resources::XTAG_ATTRIBUTES, Resources::XTAG_SERVICE_ENDPOINT); $containerName = Utilities::tryGetKeysChainValue($parsed, Resources::XTAG_ATTRIBUTES, Resources::XTAG_CONTAINER_NAME); $result->_containerName = $containerName; $result->_prefix = Utilities::tryGetValue($parsed, Resources::QP_PREFIX); $result->_marker = Utilities::tryGetValue($parsed, Resources::QP_MARKER); $result->_nextMarker = Utilities::tryGetValue($parsed, Resources::QP_NEXT_MARKER); $result->_maxResults = intval(Utilities::tryGetValue($parsed, Resources::QP_MAX_RESULTS, 0)); $result->_delimiter = Utilities::tryGetValue($parsed, Resources::QP_DELIMITER); $result->_blobs = array(); $result->_blobPrefixes = array(); $rawBlobs = array(); $rawBlobPrefixes = array(); if (is_array($parsed['Blobs']) && array_key_exists('Blob', $parsed['Blobs'])) { $rawBlobs = Utilities::getArray($parsed['Blobs']['Blob']); } foreach ($rawBlobs as $value) { $blob = new Blob(); $blob->setName($value['Name']); $blob->setUrl($serviceEndpoint . $containerName . '/' . $value['Name']); $blob->setSnapshot(Utilities::tryGetValue($value, 'Snapshot')); $blob->setProperties(BlobProperties::create(Utilities::tryGetValue($value, 'Properties'))); $blob->setMetadata(Utilities::tryGetValue($value, Resources::QP_METADATA, array())); $result->_blobs[] = $blob; } if (is_array($parsed['Blobs']) && array_key_exists('BlobPrefix', $parsed['Blobs'])) { $rawBlobPrefixes = Utilities::getArray($parsed['Blobs']['BlobPrefix']); } foreach ($rawBlobPrefixes as $value) { $blobPrefix = new BlobPrefix(); $blobPrefix->setName($value['Name']); $result->_blobPrefixes[] = $blobPrefix; } return $result; }