azure-storage 0.14.0.preview → 0.15.0.preview

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9d928e46742461de06b7ea74aba3adfd35076eb6
4
- data.tar.gz: 7c60c44b62b9a09f9bf9ff2f113a16182619e335
3
+ metadata.gz: e5c12c44729bf416e20e2a983f88fce629e58982
4
+ data.tar.gz: d589d29762029eccf660cd0fca41bb2e18b49082
5
5
  SHA512:
6
- metadata.gz: 5cf469aea716d07951b603167cce71a3bf51dfd5142d5431998c68e047bd1b651a7bb6c5b22c5de6ac57b1e0a7c41cafbf2fa823a1043685a02222e30c3b8bf7
7
- data.tar.gz: 7d529320af4adc9026c9714f8a4f7276524b77c98909046d75753c986ce8054b24e91b0ff8892a01ebe669321728d684e0bbc4e285bd6cd0cd8520d83b61f3bf
6
+ metadata.gz: 109b153f84da28f24892241fe953ab93f7c4e6d1664fd4c5ed723000902ac6af508ea5523bb688a5783d6f52a5ceac5dedd00637ea480388fc552f896a59be95
7
+ data.tar.gz: b0186d8eec0537b52ec24647a994813e867dfa6b23b34e9ad69224fe46e4719d46a978130cf24e67480689002f6b743d84a9b35b901a75f80b7957b7cb0681bb
@@ -63,6 +63,8 @@ module Azure::Storage
63
63
  # * +:if_none_match+ - String. An ETag value. Specify an ETag value for this conditional header to create a new blob
64
64
  # only if the blob's ETag value does not match the value specified. If the values are identical,
65
65
  # the Blob service returns status code 412 (Precondition Failed).
66
+ # * +:lease_id+ - String. Required if the blob has an active lease. To perform this operation on a blob with an active lease,
67
+ # specify the valid lease ID for this header.
66
68
  #
67
69
  # See http://msdn.microsoft.com/en-us/library/azure/dd179451.aspx
68
70
  #
@@ -92,6 +94,7 @@ module Azure::Storage
92
94
 
93
95
  StorageService.add_metadata_to_headers options[:metadata], headers
94
96
  add_blob_conditional_headers options, headers
97
+ headers["x-ms-lease-id"] = options[:lease_id] if options[:lease_id]
95
98
 
96
99
  # call PutBlob with empty body
97
100
  response = call(:put, uri, nil, headers, options)
@@ -135,6 +138,8 @@ module Azure::Storage
135
138
  # * +:if_none_match+ - String. An ETag value. Specify an ETag value for this conditional header to append a block only if
136
139
  # the blob's ETag value does not match the value specified. If the values are identical,
137
140
  # the Blob service returns status code 412 (Precondition Failed).
141
+ # * +:lease_id+ - String. Required if the blob has an active lease. To perform this operation on a blob with an
142
+ # active lease, specify the valid lease ID for this header.
138
143
  #
139
144
  # See http://msdn.microsoft.com/en-us/library/azure/mt427365.aspx
140
145
  #
@@ -150,6 +155,7 @@ module Azure::Storage
150
155
  StorageService.with_header headers, "x-ms-lease-id", options[:lease_id]
151
156
 
152
157
  add_blob_conditional_headers options, headers
158
+ headers["x-ms-lease-id"] = options[:lease_id] if options[:lease_id]
153
159
 
154
160
  response = call(:put, uri, content, headers, options)
155
161
  result = Serialization.blob_from_headers(response.headers)
@@ -61,6 +61,8 @@ module Azure::Storage
61
61
  # * +:timeout+ - Integer. A timeout in seconds.
62
62
  # * +:request_id+ - String. Provides a client-generated, opaque value with a 1 KB character limit that is recorded
63
63
  # in the analytics logs when storage analytics logging is enabled.
64
+ # * +:location_mode+ - LocationMode. Specifies the location mode used to decide
65
+ # which location the request should be sent to.
64
66
  # * +:if_modified_since+ - String. A DateTime value. Specify this conditional header to get the blob
65
67
  # only if the blob has been modified since the specified date/time. If the blob has not been modified,
66
68
  # the Blob service returns status code 412 (Precondition Failed).
@@ -73,6 +75,12 @@ module Azure::Storage
73
75
  # * +:if_none_match+ - String. An ETag value. Specify an ETag value for this conditional header to get the blob
74
76
  # only if the blob's ETag value does not match the value specified. If the values are identical,
75
77
  # the Blob service returns status code 412 (Precondition Failed).
78
+ # * +:lease_id+ - String. If this header is specified, the operation will be performed only if both of the
79
+ # following conditions are met:
80
+ # - The blob's lease is currently active.
81
+ # - The lease ID specified in the request matches that of the blob.
82
+ # If this header is specified and both of these conditions are not met, the request will fail
83
+ # and the Get Blob operation will fail with status code 412 (Precondition Failed).
76
84
  #
77
85
  # See http://msdn.microsoft.com/en-us/library/azure/dd179440.aspx
78
86
  #
@@ -81,7 +89,9 @@ module Azure::Storage
81
89
  query = {}
82
90
  StorageService.with_query query, "snapshot", options[:snapshot]
83
91
  StorageService.with_query query, "timeout", options[:timeout].to_s if options[:timeout]
84
- uri = blob_uri(container, blob, query)
92
+
93
+ options[:request_location_mode] = RequestLocationMode::PRIMARY_OR_SECONDARY
94
+ uri = blob_uri(container, blob, query, options)
85
95
 
86
96
  headers = StorageService.common_headers
87
97
  options[:start_range] = 0 if options[:end_range] && (not options[:start_range])
@@ -90,6 +100,7 @@ module Azure::Storage
90
100
  StorageService.with_header headers, "x-ms-range-get-content-md5", "true" if options[:get_content_md5]
91
101
  end
92
102
  add_blob_conditional_headers options, headers
103
+ headers["x-ms-lease-id"] = options[:lease_id] if options[:lease_id]
93
104
 
94
105
  response = call(:get, uri, nil, headers, options)
95
106
  result = Serialization.blob_from_headers(response.headers)
@@ -114,6 +125,8 @@ module Azure::Storage
114
125
  # * +:timeout+ - Integer. A timeout in seconds.
115
126
  # * +:request_id+ - String. Provides a client-generated, opaque value with a 1 KB character limit that is recorded
116
127
  # in the analytics logs when storage analytics logging is enabled.
128
+ # * +:location_mode+ - LocationMode. Specifies the location mode used to decide
129
+ # which location the request should be sent to.
117
130
  # * +:if_modified_since+ - String. A DateTime value. Specify this conditional header to get the blob properties
118
131
  # only if the blob has been modified since the specified date/time. If the blob has not been modified,
119
132
  # the Blob service returns status code 412 (Precondition Failed).
@@ -126,6 +139,14 @@ module Azure::Storage
126
139
  # * +:if_none_match+ - String. An ETag value. Specify an ETag value for this conditional header to get the blob properties
127
140
  # only if the blob's ETag value does not match the value specified. If the values are identical,
128
141
  # the Blob service returns status code 412 (Precondition Failed).
142
+ # * +:lease_id+ - String. If this header is specified, the operation will be performed only if both of the
143
+ # following conditions are met:
144
+ #
145
+ # - The blob's lease is currently active.
146
+ # - The lease ID specified in the request matches that of the blob.
147
+ #
148
+ # If this header is specified and both of these conditions are not met, the request will fail
149
+ # and the Get Blob Properties operation will fail with status code 412 (Precondition Failed).
129
150
  #
130
151
  # See http://msdn.microsoft.com/en-us/library/azure/dd179394.aspx
131
152
  #
@@ -139,8 +160,10 @@ module Azure::Storage
139
160
  unless options.empty?
140
161
  add_blob_conditional_headers options, headers
141
162
  end
163
+ headers["x-ms-lease-id"] = options[:lease_id] if options[:lease_id]
142
164
 
143
- uri = blob_uri(container, blob, query)
165
+ options[:request_location_mode] = RequestLocationMode::PRIMARY_OR_SECONDARY
166
+ uri = blob_uri(container, blob, query, options)
144
167
 
145
168
  response = call(:head, uri, nil, headers, options)
146
169
 
@@ -217,6 +240,8 @@ module Azure::Storage
217
240
  # * +:if_none_match+ - String. An ETag value. Specify an ETag value for this conditional header to set the blob properties
218
241
  # only if the blob's ETag value does not match the value specified. If the values are identical,
219
242
  # the Blob service returns status code 412 (Precondition Failed).
243
+ # * +:lease_id+ - String. Required if the blob has an active lease. To perform this operation on a blob with an active
244
+ # lease, specify the valid lease ID for this header.
220
245
  #
221
246
  # Remarks:
222
247
  #
@@ -271,6 +296,7 @@ module Azure::Storage
271
296
  end
272
297
 
273
298
  add_blob_conditional_headers options, headers
299
+ headers["x-ms-lease-id"] = options[:lease_id] if options[:lease_id]
274
300
  end
275
301
 
276
302
  call(:put, uri, nil, headers, options)
@@ -293,6 +319,8 @@ module Azure::Storage
293
319
  # * +:timeout+ - Integer. A timeout in seconds.
294
320
  # * +:request_id+ - String. Provides a client-generated, opaque value with a 1 KB character limit that is recorded
295
321
  # in the analytics logs when storage analytics logging is enabled.
322
+ # * +:location_mode+ - LocationMode. Specifies the location mode used to decide
323
+ # which location the request should be sent to.
296
324
  # * +:if_modified_since+ - String. A DateTime value. Specify this conditional header to get the blob metadata
297
325
  # only if the blob has been modified since the specified date/time. If the blob has not been modified,
298
326
  # the Blob service returns status code 412 (Precondition Failed).
@@ -305,6 +333,14 @@ module Azure::Storage
305
333
  # * +:if_none_match+ - String. An ETag value. Specify an ETag value for this conditional header to get the blob metadata
306
334
  # only if the blob's ETag value does not match the value specified. If the values are identical,
307
335
  # the Blob service returns status code 412 (Precondition Failed).
336
+ # * +:lease_id+ - String. If this header is specified, the operation will be performed only if both of the
337
+ # following conditions are met:
338
+ #
339
+ # - The blob's lease is currently active.
340
+ # - The lease ID specified in the request matches that of the blob.
341
+ #
342
+ # If this header is specified and both of these conditions are not met, the request will fail
343
+ # and the Get Blob Metadata operation will fail with status code 412 (Precondition Failed).
308
344
  #
309
345
  # See http://msdn.microsoft.com/en-us/library/azure/dd179350.aspx
310
346
  #
@@ -317,9 +353,11 @@ module Azure::Storage
317
353
  headers = StorageService.common_headers
318
354
  unless options.empty?
319
355
  add_blob_conditional_headers options, headers
356
+ headers["x-ms-lease-id"] = options[:lease_id] if options[:lease_id]
320
357
  end
321
358
 
322
- uri = blob_uri(container, blob, query)
359
+ options[:request_location_mode] = RequestLocationMode::PRIMARY_OR_SECONDARY
360
+ uri = blob_uri(container, blob, query, options)
323
361
  response = call(:get, uri, nil, headers, options)
324
362
  result = Serialization.blob_from_headers(response.headers)
325
363
 
@@ -356,6 +394,8 @@ module Azure::Storage
356
394
  # * +:if_none_match+ - String. An ETag value. Specify an ETag value for this conditional header to set the blob metadata
357
395
  # only if the blob's ETag value does not match the value specified. If the values are identical,
358
396
  # the Blob service returns status code 412 (Precondition Failed).
397
+ # * +:lease_id+ - String. Required if the blob has an active lease. To perform this operation on a blob with an active
398
+ # lease, specify the valid lease ID for this header.
359
399
  #
360
400
  # See http://msdn.microsoft.com/en-us/library/azure/dd179414.aspx
361
401
  #
@@ -370,6 +410,7 @@ module Azure::Storage
370
410
  StorageService.add_metadata_to_headers metadata, headers
371
411
  unless options.empty?
372
412
  add_blob_conditional_headers options, headers
413
+ headers["x-ms-lease-id"] = options[:lease_id] if options[:lease_id]
373
414
  end
374
415
 
375
416
  call(:put, uri, nil, headers, options)
@@ -407,6 +448,8 @@ module Azure::Storage
407
448
  # * +:if_none_match+ - String. An ETag value. Specify an ETag value for this conditional header to acquire the lease
408
449
  # only if the blob's ETag value does not match the value specified. If the values are identical,
409
450
  # the Blob service returns status code 412 (Precondition Failed).
451
+ # * +:origin+ - String. Optional. Specifies the origin from which the request is issued. The presence of this header results
452
+ # in cross-origin resource sharing headers on the response.
410
453
  #
411
454
  # See http://msdn.microsoft.com/en-us/library/azure/ee691972.aspx
412
455
  #
@@ -447,6 +490,8 @@ module Azure::Storage
447
490
  # * +:if_none_match+ - String. An ETag value. Specify an ETag value for this conditional header to renew the lease
448
491
  # only if the blob's ETag value does not match the value specified. If the values are identical,
449
492
  # the Blob service returns status code 412 (Precondition Failed).
493
+ # * +:origin+ - String. Optional. Specifies the origin from which the request is issued. The presence of this header results
494
+ # in cross-origin resource sharing headers on the response.
450
495
  # See http://msdn.microsoft.com/en-us/library/azure/ee691972.aspx
451
496
  #
452
497
  # Returns the renewed lease id
@@ -483,6 +528,8 @@ module Azure::Storage
483
528
  # * +:if_none_match+ - String. An ETag value. Specify an ETag value for this conditional header to change the lease
484
529
  # only if the blob's ETag value does not match the value specified. If the values are identical,
485
530
  # the Blob service returns status code 412 (Precondition Failed).
531
+ # * +:origin+ - String. Optional. Specifies the origin from which the request is issued. The presence of this header results
532
+ # in cross-origin resource sharing headers on the response.
486
533
  # See http://msdn.microsoft.com/en-us/library/azure/ee691972.aspx
487
534
  #
488
535
  # Returns the changed lease id
@@ -519,6 +566,8 @@ module Azure::Storage
519
566
  # * +:if_none_match+ - String. An ETag value. Specify an ETag value for this conditional header to release the lease
520
567
  # only if the blob's ETag value does not match the value specified. If the values are identical,
521
568
  # the Blob service returns status code 412 (Precondition Failed).
569
+ # * +:origin+ - String. Optional. Specifies the origin from which the request is issued. The presence of this header results
570
+ # in cross-origin resource sharing headers on the response.
522
571
  # See http://msdn.microsoft.com/en-us/library/azure/ee691972.aspx
523
572
  #
524
573
  # Returns nil on success
@@ -567,6 +616,8 @@ module Azure::Storage
567
616
  # * +:if_none_match+ - String. An ETag value. Specify an ETag value for this conditional header to break the lease
568
617
  # only if the blob's ETag value does not match the value specified. If the values are identical,
569
618
  # the Blob service returns status code 412 (Precondition Failed).
619
+ # * +:origin+ - String. Optional. Specifies the origin from which the request is issued. The presence of this header results
620
+ # in cross-origin resource sharing headers on the response.
570
621
  # See http://msdn.microsoft.com/en-us/library/azure/ee691972.aspx
571
622
  #
572
623
  # Returns an Integer of the remaining lease time. This value is the approximate time remaining in the lease
@@ -603,6 +654,12 @@ module Azure::Storage
603
654
  # * +:if_none_match+ - String. An ETag value. Specify an ETag value for this conditional header to create the blob snapshot
604
655
  # only if the blob's ETag value does not match the value specified. If the values are identical,
605
656
  # the Blob service returns status code 412 (Precondition Failed).
657
+ # * +:lease_id+ - String. If this header is specified, the operation will be performed only if both of the
658
+ # following conditions are met:
659
+ # - The blob's lease is currently active.
660
+ # - The lease ID specified in the request matches that of the blob.
661
+ # If this header is specified and both of these conditions are not met, the request will fail
662
+ # and the Snapshot Blob operation will fail with status code 412 (Precondition Failed).
606
663
  #
607
664
  # See http://msdn.microsoft.com/en-us/library/azure/ee691971.aspx
608
665
  #
@@ -617,6 +674,7 @@ module Azure::Storage
617
674
  unless options.empty?
618
675
  StorageService.add_metadata_to_headers(options[:metadata], headers)
619
676
  add_blob_conditional_headers(options, headers)
677
+ headers["x-ms-lease-id"] = options[:lease_id] if options[:lease_id]
620
678
  end
621
679
 
622
680
  response = call(:put, uri, nil, headers, options)
@@ -668,6 +726,13 @@ module Azure::Storage
668
726
  # * +:timeout+ - Integer. A timeout in seconds.
669
727
  # * +:request_id+ - String. Provides a client-generated, opaque value with a 1 KB character limit that is recorded
670
728
  # in the analytics logs when storage analytics logging is enabled.
729
+ # * +:lease_id+ - String. Required if the destination blob has an active lease. The lease ID specified for
730
+ # this header must match the lease ID of the destination blob. If the request does not include
731
+ # the lease ID or it is not valid, the operation fails with status code 412 (Precondition Failed).
732
+ # If this header is specified and the destination blob does not currently have an active lease,
733
+ # the operation will also fail with status code 412 (Precondition Failed).
734
+ # In version 2012-02-12 and newer, this value must specify an active, infinite lease for a
735
+ # leased blob. A finite-duration lease ID fails with 412 (Precondition Failed).
671
736
  #
672
737
  # See http://msdn.microsoft.com/en-us/library/azure/dd894037.aspx
673
738
  #
@@ -690,6 +755,7 @@ module Azure::Storage
690
755
  unless options.empty?
691
756
  add_blob_conditional_headers options, headers
692
757
  StorageService.add_metadata_to_headers options[:metadata], headers
758
+ headers["x-ms-lease-id"] = options[:lease_id] if options[:lease_id]
693
759
  end
694
760
 
695
761
  response = call(:put, uri, nil, headers, options)
@@ -741,6 +807,13 @@ module Azure::Storage
741
807
  # * +:timeout+ - Integer. A timeout in seconds.
742
808
  # * +:request_id+ - String. Provides a client-generated, opaque value with a 1 KB character limit that is recorded
743
809
  # in the analytics logs when storage analytics logging is enabled.
810
+ # * +:lease_id+ - String. Required if the destination blob has an active lease. The lease ID specified for
811
+ # this header must match the lease ID of the destination blob. If the request does not include
812
+ # the lease ID or it is not valid, the operation fails with status code 412 (Precondition Failed).
813
+ # If this header is specified and the destination blob does not currently have an active lease,
814
+ # the operation will also fail with status code 412 (Precondition Failed).
815
+ # In version 2012-02-12 and newer, this value must specify an active, infinite lease for a
816
+ # leased blob. A finite-duration lease ID fails with 412 (Precondition Failed).
744
817
  #
745
818
  # See http://msdn.microsoft.com/en-us/library/azure/dd894037.aspx
746
819
  #
@@ -830,6 +903,9 @@ module Azure::Storage
830
903
  # * +:if_none_match+ - String. An ETag value. Specify an ETag value for this conditional header to create the blob snapshot
831
904
  # only if the blob's ETag value does not match the value specified. If the values are identical,
832
905
  # the Blob service returns status code 412 (Precondition Failed).
906
+ # * +:lease_id+ - String. Required if the blob has an active lease. To perform this operation on a blob with an
907
+ # active lease, specify the valid lease ID for this header. If a valid lease ID is not specified
908
+ # on the request, the operation will fail with status code 403 (Forbidden).
833
909
  #
834
910
  # See http://msdn.microsoft.com/en-us/library/azure/dd179440.aspx
835
911
  #
@@ -846,6 +922,7 @@ module Azure::Storage
846
922
  headers = StorageService.common_headers
847
923
  StorageService.with_header headers, "x-ms-delete-snapshots", options[:delete_snapshots].to_s if options[:delete_snapshots] && options[:snapshot] == nil
848
924
  add_blob_conditional_headers options, headers
925
+ headers["x-ms-lease-id"] = options[:lease_id] if options[:lease_id]
849
926
 
850
927
  call(:delete, uri, nil, headers, options)
851
928
  nil
@@ -44,7 +44,8 @@ module Azure::Storage
44
44
  client_config = options[:client] || Azure::Storage
45
45
  signer = options[:signer] || client_config.signer || Azure::Storage::Core::Auth::SharedKey.new(client_config.storage_account_name, client_config.storage_access_key)
46
46
  super(signer, client_config.storage_account_name, options, &block)
47
- @host = client.storage_blob_host
47
+ @storage_service_host[:primary] = client.storage_blob_host
48
+ @storage_service_host[:secondary] = client.storage_blob_host true
48
49
  end
49
50
 
50
51
  def call(method, uri, body = nil, headers = {}, options = {})
@@ -103,6 +104,9 @@ module Azure::Storage
103
104
  # * +:request_id+ - String. Provides a client-generated, opaque value with a 1 KB character limit that is recorded
104
105
  # in the analytics logs when storage analytics logging is enabled.
105
106
  #
107
+ # * +:location_mode+ - LocationMode. Specifies the location mode used to decide
108
+ # which location the request should be sent to.
109
+ #
106
110
  # See: https://msdn.microsoft.com/en-us/library/azure/dd179352.aspx
107
111
  #
108
112
  # NOTE: Metadata requested with the :metadata parameter must have been stored in
@@ -126,7 +130,8 @@ module Azure::Storage
126
130
  StorageService.with_query query, "timeout", options[:timeout].to_s if options[:timeout]
127
131
  end
128
132
 
129
- uri = containers_uri(query)
133
+ options[:request_location_mode] = RequestLocationMode::PRIMARY_OR_SECONDARY
134
+ uri = containers_uri(query, options)
130
135
  response = call(:get, uri, nil, {}, options)
131
136
 
132
137
  Serialization.container_enumeration_results_from_xml(response.body)
@@ -163,6 +168,8 @@ module Azure::Storage
163
168
  # * +:if_none_match+ - String. An ETag value. Specify an ETag value for this conditional header to acquire the lease
164
169
  # only if the blob's ETag value does not match the value specified. If the values are identical,
165
170
  # the Blob service returns status code 412 (Precondition Failed).
171
+ # * +:origin+ - String. Optional. Specifies the origin from which the request is issued. The presence of this header results
172
+ # in cross-origin resource sharing headers on the response.
166
173
  #
167
174
  # See http://msdn.microsoft.com/en-us/library/azure/ee691972.aspx
168
175
  #
@@ -187,6 +194,7 @@ module Azure::Storage
187
194
  Service::StorageService.with_header headers, "x-ms-lease-action", "acquire"
188
195
  Service::StorageService.with_header headers, "x-ms-lease-duration", duration.to_s if duration
189
196
  Service::StorageService.with_header headers, "x-ms-proposed-lease-id", options[:proposed_lease_id]
197
+ Service::StorageService.with_header headers, "Origin", options[:origin].to_s if options[:origin]
190
198
  add_blob_conditional_headers options, headers
191
199
 
192
200
  response = call(:put, uri, nil, headers, options)
@@ -223,6 +231,8 @@ module Azure::Storage
223
231
  # * +:if_none_match+ - String. An ETag value. Specify an ETag value for this conditional header to renew the lease
224
232
  # only if the blob's ETag value does not match the value specified. If the values are identical,
225
233
  # the Blob service returns status code 412 (Precondition Failed).
234
+ # * +:origin+ - String. Optional. Specifies the origin from which the request is issued. The presence of this header results
235
+ # in cross-origin resource sharing headers on the response.
226
236
  #
227
237
  # See http://msdn.microsoft.com/en-us/library/azure/ee691972.aspx
228
238
  #
@@ -242,6 +252,7 @@ module Azure::Storage
242
252
  headers = Service::StorageService.common_headers
243
253
  Service::StorageService.with_header headers, "x-ms-lease-action", "renew"
244
254
  Service::StorageService.with_header headers, "x-ms-lease-id", lease
255
+ Service::StorageService.with_header headers, "Origin", options[:origin].to_s if options[:origin]
245
256
  add_blob_conditional_headers options, headers
246
257
 
247
258
  response = call(:put, uri, nil, headers, options)
@@ -277,6 +288,8 @@ module Azure::Storage
277
288
  # * +:if_none_match+ - String. An ETag value. Specify an ETag value for this conditional header to change the lease
278
289
  # only if the blob's ETag value does not match the value specified. If the values are identical,
279
290
  # the Blob service returns status code 412 (Precondition Failed).
291
+ # * +:origin+ - String. Optional. Specifies the origin from which the request is issued. The presence of this header results
292
+ # in cross-origin resource sharing headers on the response.
280
293
  #
281
294
  # See http://msdn.microsoft.com/en-us/library/azure/ee691972.aspx
282
295
  #
@@ -298,6 +311,7 @@ module Azure::Storage
298
311
  Service::StorageService.with_header headers, "x-ms-lease-action", "change"
299
312
  Service::StorageService.with_header headers, "x-ms-lease-id", lease
300
313
  Service::StorageService.with_header headers, "x-ms-proposed-lease-id", proposed_lease
314
+ Service::StorageService.with_header headers, "Origin", options[:origin].to_s if options[:origin]
301
315
  add_blob_conditional_headers options, headers
302
316
 
303
317
  response = call(:put, uri, nil, headers, options)
@@ -333,6 +347,8 @@ module Azure::Storage
333
347
  # * +:if_none_match+ - String. An ETag value. Specify an ETag value for this conditional header to release the lease
334
348
  # only if the blob's ETag value does not match the value specified. If the values are identical,
335
349
  # the Blob service returns status code 412 (Precondition Failed).
350
+ # * +:origin+ - String. Optional. Specifies the origin from which the request is issued. The presence of this header results
351
+ # in cross-origin resource sharing headers on the response.
336
352
  #
337
353
  # See http://msdn.microsoft.com/en-us/library/azure/ee691972.aspx
338
354
  #
@@ -352,6 +368,7 @@ module Azure::Storage
352
368
  headers = Service::StorageService.common_headers
353
369
  Service::StorageService.with_header headers, "x-ms-lease-action", "release"
354
370
  Service::StorageService.with_header headers, "x-ms-lease-id", lease
371
+ Service::StorageService.with_header headers, "Origin", options[:origin].to_s if options[:origin]
355
372
  add_blob_conditional_headers options, headers
356
373
 
357
374
  call(:put, uri, nil, headers, options)
@@ -399,6 +416,8 @@ module Azure::Storage
399
416
  # * +:if_none_match+ - String. An ETag value. Specify an ETag value for this conditional header to acquire the lease
400
417
  # only if the blob's ETag value does not match the value specified. If the values are identical,
401
418
  # the Blob service returns status code 412 (Precondition Failed).
419
+ # * +:origin+ - String. Optional. Specifies the origin from which the request is issued. The presence of this header results
420
+ # in cross-origin resource sharing headers on the response.
402
421
  #
403
422
  # See http://msdn.microsoft.com/en-us/library/azure/ee691972.aspx
404
423
  #
@@ -420,6 +439,7 @@ module Azure::Storage
420
439
  headers = Service::StorageService.common_headers
421
440
  Service::StorageService.with_header headers, "x-ms-lease-action", "break"
422
441
  Service::StorageService.with_header headers, "x-ms-lease-break-period", options[:break_period].to_s if options[:break_period]
442
+ Service::StorageService.with_header headers, "Origin", options[:origin].to_s if options[:origin]
423
443
  add_blob_conditional_headers options, headers
424
444
 
425
445
  response = call(:put, uri, nil, headers, options)
@@ -435,9 +455,9 @@ module Azure::Storage
435
455
  # Returns a URI.
436
456
  #
437
457
  protected
438
- def containers_uri(query = {})
458
+ def containers_uri(query = {}, options = {})
439
459
  query = { "comp" => "list" }.merge(query)
440
- generate_uri("", query)
460
+ generate_uri("", query, options)
441
461
  end
442
462
 
443
463
  # Protected: Generate the URI for a specific container.
@@ -450,10 +470,10 @@ module Azure::Storage
450
470
  # Returns a URI.
451
471
  #
452
472
  protected
453
- def container_uri(name, query = {})
473
+ def container_uri(name, query = {}, options = {})
454
474
  return name if name.kind_of? ::URI
455
475
  query = { "restype" => "container" }.merge(query)
456
- generate_uri(name, query)
476
+ generate_uri(name, query, options)
457
477
  end
458
478
 
459
479
  # Protected: Generate the URI for a specific Blob.
@@ -467,13 +487,14 @@ module Azure::Storage
467
487
  # Returns a URI.
468
488
  #
469
489
  protected
470
- def blob_uri(container_name, blob_name, query = {})
490
+ def blob_uri(container_name, blob_name, query = {}, options = {})
471
491
  if container_name.nil? || container_name.empty?
472
492
  path = blob_name
473
493
  else
474
494
  path = ::File.join(container_name, blob_name)
475
495
  end
476
- generate_uri(path, query, true)
496
+ options = { encode: true }.merge(options)
497
+ generate_uri(path, query, options)
477
498
  end
478
499
 
479
500
  # Adds conditional header with required condition