Example #1
0
 /**
  * Creates a new Microsoft_WindowsAzure_Storage_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 Microsoft_WindowsAzure_RetryPolicy_RetryPolicyAbstract $retryPolicy Retry policy to use when making requests
  */
 public function __construct($host = Microsoft_WindowsAzure_Storage::URL_DEV_BLOB, $accountName = Microsoft_WindowsAzure_Credentials_CredentialsAbstract::DEVSTORE_ACCOUNT, $accountKey = Microsoft_WindowsAzure_Credentials_CredentialsAbstract::DEVSTORE_KEY, $usePathStyleUri = false, Microsoft_WindowsAzure_RetryPolicy_RetryPolicyAbstract $retryPolicy = null)
 {
     parent::__construct($host, $accountName, $accountKey, $usePathStyleUri, $retryPolicy);
     // API version
     $this->_apiVersion = '2009-09-19';
     // SharedAccessSignature credentials
     $this->_sharedAccessSignatureCredentials = new Microsoft_WindowsAzure_Credentials_SharedAccessSignature($accountName, $accountKey, $usePathStyleUri);
 }
Example #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 Microsoft_WindowsAzure_Exception
  */
 public function enlistOperation($path = '/', $queryString = '', $httpVerb = Microsoft_Http_Client::GET, $headers = array(), $forTableStorage = false, $rawData = null)
 {
     // Set _forTableStorage
     if ($forTableStorage) {
         $this->_forTableStorage = true;
     }
     // Set _isSingleSelect
     if ($httpVerb == Microsoft_Http_Client::GET) {
         if (count($this->_operations) > 0) {
             throw new Microsoft_WindowsAzure_Exception("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 (is_null($headers)) {
         $headers = array();
     }
     // URL encoding
     $path = Microsoft_WindowsAzure_Storage::urlencode($path);
     $queryString = Microsoft_WindowsAzure_Storage::urlencode($queryString);
     // Generate URL
     $requestUrl = $this->getBaseUrl() . $path . $queryString;
     // Generate $rawData
     if (is_null($rawData)) {
         $rawData = '';
     }
     // Add headers
     if ($httpVerb != Microsoft_Http_Client::GET) {
         $headers['Content-ID'] = count($this->_operations) + 1;
         if ($httpVerb != Microsoft_Http_Client::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;
 }
Example #3
0
 /**
  * Creates a new Microsoft_WindowsAzure_Storage_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 Microsoft_WindowsAzure_RetryPolicy $retryPolicy Retry policy to use when making requests
  */
 public function __construct($host = Microsoft_WindowsAzure_Storage::URL_DEV_QUEUE, $accountName = Microsoft_WindowsAzure_SharedKeyCredentials::DEVSTORE_ACCOUNT, $accountKey = Microsoft_WindowsAzure_SharedKeyCredentials::DEVSTORE_KEY, $usePathStyleUri = false, Microsoft_WindowsAzure_RetryPolicy $retryPolicy = null)
 {
     parent::__construct($host, $accountName, $accountKey, $usePathStyleUri, $retryPolicy);
     // API version
     $this->_apiVersion = '2009-04-14';
 }
 /**
  * Test constructor for production
  */
 public function testConstructorForProduction()
 {
     $storage = new Microsoft_WindowsAzure_Storage(Microsoft_WindowsAzure_Storage::URL_CLOUD_BLOB, 'testing', '');
     $this->assertEquals('http://testing.blob.core.windows.net', $storage->getBaseUrl());
 }