예제 #1
0
파일: Blob.php 프로젝트: navassouza/zf2
 /**
  * Creates a new Blob instance
  *
  * @param string                          $host            Storage host name
  * @param string                          $accountName     Account name for Windows Azure
  * @param string                          $accountKey      Account key for Windows Azure
  * @param boolean                         $usePathStyleUri Use path-style URI's
  * @param RetryPolicy\AbstractRetryPolicy $retryPolicy     Retry policy to use when making requests
  */
 public function __construct($host = Storage\Storage::URL_DEV_BLOB, $accountName = Credentials\AbstractCredentials::DEVSTORE_ACCOUNT, $accountKey = Credentials\AbstractCredentials::DEVSTORE_KEY, $usePathStyleUri = false, RetryPolicy\AbstractRetryPolicy $retryPolicy = null)
 {
     parent::__construct($host, $accountName, $accountKey, $usePathStyleUri, $retryPolicy);
     // API version
     $this->_apiVersion = '2009-07-17';
     // SharedAccessSignature credentials
     $this->_sharedAccessSignatureCredentials = new Credentials\SharedAccessSignature($accountName, $accountKey, $usePathStyleUri);
 }
예제 #2
0
 /**
  * Enlist operation in current batch
  *
  * @param string  $path            Path
  * @param string  $queryString     Query string
  * @param string  $httpVerb        HTTP verb the request will use
  * @param array   $headers         x-ms headers to add
  * @param boolean $forTableStorage Is the request for table storage?
  * @param mixed   $rawData         Optional RAW HTTP data to be sent over the wire
  * @throws RuntimeException
  */
 public function enlistOperation($path = '/', $queryString = '', $httpVerb = Request::METHOD_GET, $headers = array(), $forTableStorage = false, $rawData = null)
 {
     // Set _forTableStorage
     if ($forTableStorage) {
         $this->_forTableStorage = true;
     }
     // Set _isSingleSelect
     if ($httpVerb == Request::METHOD_GET) {
         if (count($this->_operations) > 0) {
             throw new RuntimeException('Select operations can only be performed in an empty batch transaction.');
         }
         $this->_isSingleSelect = true;
     }
     // Clean path
     if (strpos($path, '/') !== 0) {
         $path = '/' . $path;
     }
     // Clean headers
     if ($headers === null) {
         $headers = array();
     }
     // URL encoding
     $path = Storage::urlencode($path);
     $queryString = Storage::urlencode($queryString);
     // Generate URL
     $requestUrl = $this->getBaseUrl() . $path . $queryString;
     // Generate $rawData
     if ($rawData === null) {
         $rawData = '';
     }
     // Add headers
     if ($httpVerb != Request::METHOD_GET) {
         $headers['Content-ID'] = count($this->_operations) + 1;
         if ($httpVerb != Request::METHOD_DELETE) {
             $headers['Content-Type'] = 'application/atom+xml;type=entry';
         }
         $headers['Content-Length'] = strlen($rawData);
     }
     // Generate $operation
     $operation = '';
     $operation .= $httpVerb . ' ' . $requestUrl . ' HTTP/1.1' . "\n";
     foreach ($headers as $key => $value) {
         $operation .= $key . ': ' . $value . "\n";
     }
     $operation .= "\n";
     // Add data
     $operation .= $rawData;
     // Store operation
     $this->_operations[] = $operation;
 }
예제 #3
0
파일: Queue.php 프로젝트: navassouza/zf2
 /**
  * Creates a new Queue instance
  *
  * @param string                          $host            Storage host name
  * @param string                          $accountName     Account name for Windows Azure
  * @param string                          $accountKey      Account key for Windows Azure
  * @param boolean                         $usePathStyleUri Use path-style URI's
  * @param RetryPolicy\AbstractRetryPolicy $retryPolicy     Retry policy to use when making requests
  */
 public function __construct($host = Storage::URL_DEV_QUEUE, $accountName = Credentials\AbstractCredentials::DEVSTORE_ACCOUNT, $accountKey = Credentials\AbstractCredentials::DEVSTORE_KEY, $usePathStyleUri = false, RetryPolicy\AbstractRetryPolicy $retryPolicy = null)
 {
     parent::__construct($host, $accountName, $accountKey, $usePathStyleUri, $retryPolicy);
     // API version
     $this->_apiVersion = '2009-04-14';
 }
예제 #4
0
 /**
  * Test constructor for production
  */
 public function testConstructorForProduction()
 {
     $storage = new Storage(Storage::URL_CLOUD_BLOB, 'testing', '');
     $this->assertEquals('http://testing.blob.core.windows.net', $storage->getBaseUrl());
 }