@azure/storage-blob 12.13.0-alpha.20230117.2 → 12.13.0-alpha.20230120.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. package/dist/index.js +12984 -12632
  2. package/dist/index.js.map +1 -1
  3. package/dist-esm/storage-blob/src/BatchResponse.js.map +1 -1
  4. package/dist-esm/storage-blob/src/BatchResponseParser.js +3 -2
  5. package/dist-esm/storage-blob/src/BatchResponseParser.js.map +1 -1
  6. package/dist-esm/storage-blob/src/BlobBatch.js +69 -59
  7. package/dist-esm/storage-blob/src/BlobBatch.js.map +1 -1
  8. package/dist-esm/storage-blob/src/BlobBatchClient.js +8 -9
  9. package/dist-esm/storage-blob/src/BlobBatchClient.js.map +1 -1
  10. package/dist-esm/storage-blob/src/BlobDownloadResponse.js +1 -1
  11. package/dist-esm/storage-blob/src/BlobDownloadResponse.js.map +1 -1
  12. package/dist-esm/storage-blob/src/BlobLeaseClient.js +35 -13
  13. package/dist-esm/storage-blob/src/BlobLeaseClient.js.map +1 -1
  14. package/dist-esm/storage-blob/src/BlobQueryResponse.browser.js.map +1 -1
  15. package/dist-esm/storage-blob/src/BlobQueryResponse.js +1 -1
  16. package/dist-esm/storage-blob/src/BlobQueryResponse.js.map +1 -1
  17. package/dist-esm/storage-blob/src/BlobServiceClient.js +43 -18
  18. package/dist-esm/storage-blob/src/BlobServiceClient.js.map +1 -1
  19. package/dist-esm/storage-blob/src/Clients.js +391 -80
  20. package/dist-esm/storage-blob/src/Clients.js.map +1 -1
  21. package/dist-esm/storage-blob/src/ContainerClient.js +53 -24
  22. package/dist-esm/storage-blob/src/ContainerClient.js.map +1 -1
  23. package/dist-esm/storage-blob/src/PageBlobRangeResponse.js.map +1 -1
  24. package/dist-esm/storage-blob/src/Pipeline.js +194 -40
  25. package/dist-esm/storage-blob/src/Pipeline.js.map +1 -1
  26. package/dist-esm/storage-blob/src/StorageBrowserPolicyFactory.js.map +1 -1
  27. package/dist-esm/storage-blob/src/StorageClient.js +4 -17
  28. package/dist-esm/storage-blob/src/StorageClient.js.map +1 -1
  29. package/dist-esm/storage-blob/src/StorageRetryPolicyFactory.js.map +1 -1
  30. package/dist-esm/storage-blob/src/credentials/AnonymousCredential.js.map +1 -1
  31. package/dist-esm/storage-blob/src/credentials/Credential.js.map +1 -1
  32. package/dist-esm/storage-blob/src/credentials/StorageSharedKeyCredential.js.map +1 -1
  33. package/dist-esm/storage-blob/src/generated/src/index.js +1 -1
  34. package/dist-esm/storage-blob/src/generated/src/index.js.map +1 -1
  35. package/dist-esm/storage-blob/src/generated/src/models/index.js +248 -1
  36. package/dist-esm/storage-blob/src/generated/src/models/index.js.map +1 -1
  37. package/dist-esm/storage-blob/src/generated/src/models/mappers.js +13 -11
  38. package/dist-esm/storage-blob/src/generated/src/models/mappers.js.map +1 -1
  39. package/dist-esm/storage-blob/src/generated/src/models/parameters.js +5 -5
  40. package/dist-esm/storage-blob/src/generated/src/models/parameters.js.map +1 -1
  41. package/dist-esm/storage-blob/src/generated/src/operations/appendBlob.js +11 -27
  42. package/dist-esm/storage-blob/src/generated/src/operations/appendBlob.js.map +1 -1
  43. package/dist-esm/storage-blob/src/generated/src/operations/blob.js +28 -110
  44. package/dist-esm/storage-blob/src/generated/src/operations/blob.js.map +1 -1
  45. package/dist-esm/storage-blob/src/generated/src/operations/blockBlob.js +16 -43
  46. package/dist-esm/storage-blob/src/generated/src/operations/blockBlob.js.map +1 -1
  47. package/dist-esm/storage-blob/src/generated/src/operations/container.js +22 -86
  48. package/dist-esm/storage-blob/src/generated/src/operations/container.js.map +1 -1
  49. package/dist-esm/storage-blob/src/generated/src/operations/pageBlob.js +16 -54
  50. package/dist-esm/storage-blob/src/generated/src/operations/pageBlob.js.map +1 -1
  51. package/dist-esm/storage-blob/src/generated/src/operations/service.js +12 -42
  52. package/dist-esm/storage-blob/src/generated/src/operations/service.js.map +1 -1
  53. package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/appendBlob.js +9 -0
  54. package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/appendBlob.js.map +1 -0
  55. package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/blob.js +9 -0
  56. package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/blob.js.map +1 -0
  57. package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/blockBlob.js +9 -0
  58. package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/blockBlob.js.map +1 -0
  59. package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/container.js +9 -0
  60. package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/container.js.map +1 -0
  61. package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/index.js +14 -0
  62. package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/index.js.map +1 -0
  63. package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/pageBlob.js +9 -0
  64. package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/pageBlob.js.map +1 -0
  65. package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/service.js +9 -0
  66. package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/service.js.map +1 -0
  67. package/dist-esm/storage-blob/src/generated/src/storageClient.js +32 -10
  68. package/dist-esm/storage-blob/src/generated/src/storageClient.js.map +1 -1
  69. package/dist-esm/storage-blob/src/generatedModels.js.map +1 -1
  70. package/dist-esm/storage-blob/src/index.browser.js +3 -2
  71. package/dist-esm/storage-blob/src/index.browser.js.map +1 -1
  72. package/dist-esm/storage-blob/src/index.js +3 -2
  73. package/dist-esm/storage-blob/src/index.js.map +1 -1
  74. package/dist-esm/storage-blob/src/policies/AnonymousCredentialPolicy.js.map +1 -1
  75. package/dist-esm/storage-blob/src/policies/CredentialPolicy.js +1 -1
  76. package/dist-esm/storage-blob/src/policies/CredentialPolicy.js.map +1 -1
  77. package/dist-esm/storage-blob/src/policies/PathParameterWorkaroundPolicy.js +25 -0
  78. package/dist-esm/storage-blob/src/policies/PathParameterWorkaroundPolicy.js.map +1 -0
  79. package/dist-esm/storage-blob/src/policies/RequestPolicy.js +40 -0
  80. package/dist-esm/storage-blob/src/policies/RequestPolicy.js.map +1 -0
  81. package/dist-esm/storage-blob/src/policies/StorageBrowserPolicy.js +2 -1
  82. package/dist-esm/storage-blob/src/policies/StorageBrowserPolicy.js.map +1 -1
  83. package/dist-esm/storage-blob/src/policies/StorageBrowserPolicyV2.js +31 -0
  84. package/dist-esm/storage-blob/src/policies/StorageBrowserPolicyV2.js.map +1 -0
  85. package/dist-esm/storage-blob/src/policies/StorageRetryPolicy.js +1 -1
  86. package/dist-esm/storage-blob/src/policies/StorageRetryPolicy.js.map +1 -1
  87. package/dist-esm/storage-blob/src/policies/StorageRetryPolicyV2.js +165 -0
  88. package/dist-esm/storage-blob/src/policies/StorageRetryPolicyV2.js.map +1 -0
  89. package/dist-esm/storage-blob/src/policies/StorageSharedKeyCredentialPolicy.js.map +1 -1
  90. package/dist-esm/storage-blob/src/policies/StorageSharedKeyCredentialPolicyV2.browser.js +18 -0
  91. package/dist-esm/storage-blob/src/policies/StorageSharedKeyCredentialPolicyV2.browser.js.map +1 -0
  92. package/dist-esm/storage-blob/src/policies/StorageSharedKeyCredentialPolicyV2.js +131 -0
  93. package/dist-esm/storage-blob/src/policies/StorageSharedKeyCredentialPolicyV2.js.map +1 -0
  94. package/dist-esm/storage-blob/src/pollers/BlobStartCopyFromUrlPoller.js +1 -1
  95. package/dist-esm/storage-blob/src/pollers/BlobStartCopyFromUrlPoller.js.map +1 -1
  96. package/dist-esm/storage-blob/src/utils/BlobQuickQueryStream.js.map +1 -1
  97. package/dist-esm/storage-blob/src/utils/RetriableReadableStream.js +10 -2
  98. package/dist-esm/storage-blob/src/utils/RetriableReadableStream.js.map +1 -1
  99. package/dist-esm/storage-blob/src/utils/cache.js +8 -2
  100. package/dist-esm/storage-blob/src/utils/cache.js.map +1 -1
  101. package/dist-esm/storage-blob/src/utils/tracing.js +0 -15
  102. package/dist-esm/storage-blob/src/utils/tracing.js.map +1 -1
  103. package/dist-esm/storage-blob/src/utils/utils.common.js +91 -42
  104. package/dist-esm/storage-blob/src/utils/utils.common.js.map +1 -1
  105. package/package.json +11 -3
  106. package/types/3.1/storage-blob.d.ts +2310 -603
  107. package/types/latest/storage-blob.d.ts +2611 -724
  108. package/dist-esm/storage-blob/src/TelemetryPolicyFactory.js +0 -50
  109. package/dist-esm/storage-blob/src/TelemetryPolicyFactory.js.map +0 -1
  110. package/dist-esm/storage-blob/src/generated/src/storageClientContext.js +0 -39
  111. package/dist-esm/storage-blob/src/generated/src/storageClientContext.js.map +0 -1
  112. package/dist-esm/storage-blob/src/policies/StorageBearerTokenChallengeAuthenticationPolicy.js +0 -245
  113. package/dist-esm/storage-blob/src/policies/StorageBearerTokenChallengeAuthenticationPolicy.js.map +0 -1
  114. package/dist-esm/storage-blob/src/policies/TelemetryPolicy.js +0 -36
  115. package/dist-esm/storage-blob/src/policies/TelemetryPolicy.js.map +0 -1
@@ -1,11 +1,13 @@
1
1
  import { __asyncDelegator, __asyncGenerator, __asyncValues, __await } from "tslib";
2
- import { generateUuid, getDefaultProxySettings, isNode, isTokenCredential, URLBuilder, } from "@azure/core-http";
2
+ import { getDefaultProxySettings, } from "@azure/core-rest-pipeline";
3
+ import { isTokenCredential } from "@azure/core-auth";
4
+ import { isNode } from "@azure/core-util";
3
5
  import { SpanStatusCode } from "@azure/core-tracing";
6
+ import { v4 as generateUuid } from "uuid";
4
7
  import { BlobDownloadResponse } from "./BlobDownloadResponse";
5
8
  import { BlobQueryResponse } from "./BlobQueryResponse";
6
9
  import { AnonymousCredential } from "./credentials/AnonymousCredential";
7
10
  import { StorageSharedKeyCredential } from "./credentials/StorageSharedKeyCredential";
8
- import { AppendBlob, Blob as StorageBlob, BlockBlob, PageBlob } from "./generated/src/operations";
9
11
  import { ensureCpkIfSpecified, toAccessTier, } from "./models";
10
12
  import { rangeResponseFromModel, } from "./PageBlobRangeResponse";
11
13
  import { newPipeline, isPipelineLike } from "./Pipeline";
@@ -15,8 +17,8 @@ import { StorageClient } from "./StorageClient";
15
17
  import { Batch } from "./utils/Batch";
16
18
  import { BufferScheduler } from "../../storage-common/src";
17
19
  import { BlobDoesNotUseCustomerSpecifiedEncryption, BlobUsesCustomerSpecifiedEncryptionMsg, BLOCK_BLOB_MAX_BLOCKS, BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES, BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES, DEFAULT_BLOB_DOWNLOAD_BLOCK_BYTES, DEFAULT_BLOCK_BUFFER_SIZE_BYTES, DEFAULT_MAX_DOWNLOAD_RETRY_REQUESTS, ETagAny, URLConstants, } from "./utils/constants";
18
- import { createSpan, convertTracingToRequestOptionsBase } from "./utils/tracing";
19
- import { appendToURLPath, appendToURLQuery, extractConnectionStringParts, ExtractPageRangeInfoItems, generateBlockID, getURLParameter, httpAuthorizationToString, isIpEndpointStyle, parseObjectReplicationRecord, setURLParameter, toBlobTags, toBlobTagsString, toQuerySerialization, toTags, } from "./utils/utils.common";
20
+ import { createSpan } from "./utils/tracing";
21
+ import { appendToURLPath, appendToURLQuery, assertResponse, extractConnectionStringParts, ExtractPageRangeInfoItems, generateBlockID, getURLParameter, httpAuthorizationToString, isIpEndpointStyle, parseObjectReplicationRecord, setURLParameter, toBlobTags, toBlobTagsString, toQuerySerialization, toTags, } from "./utils/utils.common";
20
22
  import { fsCreateReadStream, fsStat, readStreamToLocalFile, streamToBuffer, } from "./utils/utils.node";
21
23
  import { generateBlobSASQueryParameters } from "./sas/BlobSASSignatureValues";
22
24
  import { BlobLeaseClient } from "./BlobLeaseClient";
@@ -90,7 +92,7 @@ export class BlobClient extends StorageClient {
90
92
  super(url, pipeline);
91
93
  ({ blobName: this._name, containerName: this._containerName } =
92
94
  this.getBlobAndContainerNamesFromUrl());
93
- this.blobContext = new StorageBlob(this.storageClientContext);
95
+ this.blobContext = this.storageClientContext.blob;
94
96
  this._snapshot = getURLParameter(this.url, URLConstants.Parameters.SNAPSHOT);
95
97
  this._versionId = getURLParameter(this.url, URLConstants.Parameters.VERSIONID);
96
98
  }
@@ -213,9 +215,20 @@ export class BlobClient extends StorageClient {
213
215
  ensureCpkIfSpecified(options.customerProvidedKey, this.isHttps);
214
216
  const { span, updatedOptions } = createSpan("BlobClient-download", options);
215
217
  try {
216
- const res = await this.blobContext.download(Object.assign({ abortSignal: options.abortSignal, leaseAccessConditions: options.conditions, modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }), requestOptions: {
218
+ const res = assertResponse(await this.blobContext.download({
219
+ abortSignal: options.abortSignal,
220
+ leaseAccessConditions: options.conditions,
221
+ modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }),
222
+ requestOptions: {
217
223
  onDownloadProgress: isNode ? undefined : options.onProgress, // for Node.js, progress is reported by RetriableReadableStream
218
- }, range: offset === 0 && !count ? undefined : rangeToString({ offset, count }), rangeGetContentMD5: options.rangeGetContentMD5, rangeGetContentCRC64: options.rangeGetContentCrc64, snapshot: options.snapshot, cpkInfo: options.customerProvidedKey }, convertTracingToRequestOptionsBase(updatedOptions)));
224
+ },
225
+ range: offset === 0 && !count ? undefined : rangeToString({ offset, count }),
226
+ rangeGetContentMD5: options.rangeGetContentMD5,
227
+ rangeGetContentCRC64: options.rangeGetContentCrc64,
228
+ snapshot: options.snapshot,
229
+ cpkInfo: options.customerProvidedKey,
230
+ tracingOptions: updatedOptions.tracingOptions,
231
+ }));
219
232
  const wrappedRes = Object.assign(Object.assign({}, res), { _response: res._response, objectReplicationDestinationPolicyId: res.objectReplicationPolicyId, objectReplicationSourceProperties: parseObjectReplicationRecord(res.objectReplicationRules) });
220
233
  // Return browser response immediately
221
234
  if (!isNode) {
@@ -339,7 +352,13 @@ export class BlobClient extends StorageClient {
339
352
  try {
340
353
  options.conditions = options.conditions || {};
341
354
  ensureCpkIfSpecified(options.customerProvidedKey, this.isHttps);
342
- const res = await this.blobContext.getProperties(Object.assign({ abortSignal: options.abortSignal, leaseAccessConditions: options.conditions, modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }), cpkInfo: options.customerProvidedKey }, convertTracingToRequestOptionsBase(updatedOptions)));
355
+ const res = assertResponse(await this.blobContext.getProperties({
356
+ abortSignal: options.abortSignal,
357
+ leaseAccessConditions: options.conditions,
358
+ modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }),
359
+ cpkInfo: options.customerProvidedKey,
360
+ tracingOptions: updatedOptions.tracingOptions,
361
+ }));
343
362
  return Object.assign(Object.assign({}, res), { _response: res._response, objectReplicationDestinationPolicyId: res.objectReplicationPolicyId, objectReplicationSourceProperties: parseObjectReplicationRecord(res.objectReplicationRules) });
344
363
  }
345
364
  catch (e) {
@@ -367,7 +386,13 @@ export class BlobClient extends StorageClient {
367
386
  const { span, updatedOptions } = createSpan("BlobClient-delete", options);
368
387
  options.conditions = options.conditions || {};
369
388
  try {
370
- return await this.blobContext.delete(Object.assign({ abortSignal: options.abortSignal, deleteSnapshots: options.deleteSnapshots, leaseAccessConditions: options.conditions, modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }) }, convertTracingToRequestOptionsBase(updatedOptions)));
389
+ return assertResponse(await this.blobContext.delete({
390
+ abortSignal: options.abortSignal,
391
+ deleteSnapshots: options.deleteSnapshots,
392
+ leaseAccessConditions: options.conditions,
393
+ modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }),
394
+ tracingOptions: updatedOptions.tracingOptions,
395
+ }));
371
396
  }
372
397
  catch (e) {
373
398
  span.setStatus({
@@ -393,7 +418,7 @@ export class BlobClient extends StorageClient {
393
418
  var _a, _b;
394
419
  const { span, updatedOptions } = createSpan("BlobClient-deleteIfExists", options);
395
420
  try {
396
- const res = await this.delete(updatedOptions);
421
+ const res = assertResponse(await this.delete(updatedOptions));
397
422
  return Object.assign(Object.assign({ succeeded: true }, res), { _response: res._response });
398
423
  }
399
424
  catch (e) {
@@ -425,7 +450,10 @@ export class BlobClient extends StorageClient {
425
450
  async undelete(options = {}) {
426
451
  const { span, updatedOptions } = createSpan("BlobClient-undelete", options);
427
452
  try {
428
- return await this.blobContext.undelete(Object.assign({ abortSignal: options.abortSignal }, convertTracingToRequestOptionsBase(updatedOptions)));
453
+ return assertResponse(await this.blobContext.undelete({
454
+ abortSignal: options.abortSignal,
455
+ tracingOptions: updatedOptions.tracingOptions,
456
+ }));
429
457
  }
430
458
  catch (e) {
431
459
  span.setStatus({
@@ -459,7 +487,14 @@ export class BlobClient extends StorageClient {
459
487
  options.conditions = options.conditions || {};
460
488
  try {
461
489
  ensureCpkIfSpecified(options.customerProvidedKey, this.isHttps);
462
- return await this.blobContext.setHttpHeaders(Object.assign({ abortSignal: options.abortSignal, blobHttpHeaders: blobHTTPHeaders, leaseAccessConditions: options.conditions, modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }) }, convertTracingToRequestOptionsBase(updatedOptions)));
490
+ return assertResponse(await this.blobContext.setHttpHeaders({
491
+ abortSignal: options.abortSignal,
492
+ blobHttpHeaders: blobHTTPHeaders,
493
+ leaseAccessConditions: options.conditions,
494
+ modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }),
495
+ // cpkInfo: options.customerProvidedKey, // CPK is not included in Swagger, should change this back when this issue is fixed in Swagger.
496
+ tracingOptions: updatedOptions.tracingOptions,
497
+ }));
463
498
  }
464
499
  catch (e) {
465
500
  span.setStatus({
@@ -489,7 +524,15 @@ export class BlobClient extends StorageClient {
489
524
  options.conditions = options.conditions || {};
490
525
  try {
491
526
  ensureCpkIfSpecified(options.customerProvidedKey, this.isHttps);
492
- return await this.blobContext.setMetadata(Object.assign({ abortSignal: options.abortSignal, leaseAccessConditions: options.conditions, metadata, modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }), cpkInfo: options.customerProvidedKey, encryptionScope: options.encryptionScope }, convertTracingToRequestOptionsBase(updatedOptions)));
527
+ return assertResponse(await this.blobContext.setMetadata({
528
+ abortSignal: options.abortSignal,
529
+ leaseAccessConditions: options.conditions,
530
+ metadata,
531
+ modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }),
532
+ cpkInfo: options.customerProvidedKey,
533
+ encryptionScope: options.encryptionScope,
534
+ tracingOptions: updatedOptions.tracingOptions,
535
+ }));
493
536
  }
494
537
  catch (e) {
495
538
  span.setStatus({
@@ -515,7 +558,13 @@ export class BlobClient extends StorageClient {
515
558
  var _a;
516
559
  const { span, updatedOptions } = createSpan("BlobClient-setTags", options);
517
560
  try {
518
- return await this.blobContext.setTags(Object.assign(Object.assign({ abortSignal: options.abortSignal, leaseAccessConditions: options.conditions, modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }) }, convertTracingToRequestOptionsBase(updatedOptions)), { tags: toBlobTags(tags) }));
561
+ return assertResponse(await this.blobContext.setTags({
562
+ abortSignal: options.abortSignal,
563
+ leaseAccessConditions: options.conditions,
564
+ modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }),
565
+ tracingOptions: updatedOptions.tracingOptions,
566
+ tags: toBlobTags(tags),
567
+ }));
519
568
  }
520
569
  catch (e) {
521
570
  span.setStatus({
@@ -537,7 +586,12 @@ export class BlobClient extends StorageClient {
537
586
  var _a;
538
587
  const { span, updatedOptions } = createSpan("BlobClient-getTags", options);
539
588
  try {
540
- const response = await this.blobContext.getTags(Object.assign({ abortSignal: options.abortSignal, leaseAccessConditions: options.conditions, modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }) }, convertTracingToRequestOptionsBase(updatedOptions)));
589
+ const response = assertResponse(await this.blobContext.getTags({
590
+ abortSignal: options.abortSignal,
591
+ leaseAccessConditions: options.conditions,
592
+ modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }),
593
+ tracingOptions: updatedOptions.tracingOptions,
594
+ }));
541
595
  const wrappedResponse = Object.assign(Object.assign({}, response), { _response: response._response, tags: toTags({ blobTagSet: response.blobTagSet }) || {} });
542
596
  return wrappedResponse;
543
597
  }
@@ -573,7 +627,15 @@ export class BlobClient extends StorageClient {
573
627
  options.conditions = options.conditions || {};
574
628
  try {
575
629
  ensureCpkIfSpecified(options.customerProvidedKey, this.isHttps);
576
- return await this.blobContext.createSnapshot(Object.assign({ abortSignal: options.abortSignal, leaseAccessConditions: options.conditions, metadata: options.metadata, modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }), cpkInfo: options.customerProvidedKey, encryptionScope: options.encryptionScope }, convertTracingToRequestOptionsBase(updatedOptions)));
630
+ return assertResponse(await this.blobContext.createSnapshot({
631
+ abortSignal: options.abortSignal,
632
+ leaseAccessConditions: options.conditions,
633
+ metadata: options.metadata,
634
+ modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }),
635
+ cpkInfo: options.customerProvidedKey,
636
+ encryptionScope: options.encryptionScope,
637
+ tracingOptions: updatedOptions.tracingOptions,
638
+ }));
577
639
  }
578
640
  catch (e) {
579
641
  span.setStatus({
@@ -688,7 +750,11 @@ export class BlobClient extends StorageClient {
688
750
  async abortCopyFromURL(copyId, options = {}) {
689
751
  const { span, updatedOptions } = createSpan("BlobClient-abortCopyFromURL", options);
690
752
  try {
691
- return await this.blobContext.abortCopyFromURL(copyId, Object.assign({ abortSignal: options.abortSignal, leaseAccessConditions: options.conditions }, convertTracingToRequestOptionsBase(updatedOptions)));
753
+ return assertResponse(await this.blobContext.abortCopyFromURL(copyId, {
754
+ abortSignal: options.abortSignal,
755
+ leaseAccessConditions: options.conditions,
756
+ tracingOptions: updatedOptions.tracingOptions,
757
+ }));
692
758
  }
693
759
  catch (e) {
694
760
  span.setStatus({
@@ -715,12 +781,28 @@ export class BlobClient extends StorageClient {
715
781
  options.conditions = options.conditions || {};
716
782
  options.sourceConditions = options.sourceConditions || {};
717
783
  try {
718
- return await this.blobContext.copyFromURL(copySource, Object.assign({ abortSignal: options.abortSignal, metadata: options.metadata, leaseAccessConditions: options.conditions, modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }), sourceModifiedAccessConditions: {
784
+ return assertResponse(await this.blobContext.copyFromURL(copySource, {
785
+ abortSignal: options.abortSignal,
786
+ metadata: options.metadata,
787
+ leaseAccessConditions: options.conditions,
788
+ modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }),
789
+ sourceModifiedAccessConditions: {
719
790
  sourceIfMatch: options.sourceConditions.ifMatch,
720
791
  sourceIfModifiedSince: options.sourceConditions.ifModifiedSince,
721
792
  sourceIfNoneMatch: options.sourceConditions.ifNoneMatch,
722
793
  sourceIfUnmodifiedSince: options.sourceConditions.ifUnmodifiedSince,
723
- }, sourceContentMD5: options.sourceContentMD5, copySourceAuthorization: httpAuthorizationToString(options.sourceAuthorization), tier: toAccessTier(options.tier), blobTagsString: toBlobTagsString(options.tags), immutabilityPolicyExpiry: (_b = options.immutabilityPolicy) === null || _b === void 0 ? void 0 : _b.expiriesOn, immutabilityPolicyMode: (_c = options.immutabilityPolicy) === null || _c === void 0 ? void 0 : _c.policyMode, legalHold: options.legalHold, encryptionScope: options.encryptionScope, copySourceTags: options.copySourceTags }, convertTracingToRequestOptionsBase(updatedOptions)));
794
+ },
795
+ sourceContentMD5: options.sourceContentMD5,
796
+ copySourceAuthorization: httpAuthorizationToString(options.sourceAuthorization),
797
+ tier: toAccessTier(options.tier),
798
+ blobTagsString: toBlobTagsString(options.tags),
799
+ immutabilityPolicyExpiry: (_b = options.immutabilityPolicy) === null || _b === void 0 ? void 0 : _b.expiriesOn,
800
+ immutabilityPolicyMode: (_c = options.immutabilityPolicy) === null || _c === void 0 ? void 0 : _c.policyMode,
801
+ legalHold: options.legalHold,
802
+ encryptionScope: options.encryptionScope,
803
+ copySourceTags: options.copySourceTags,
804
+ tracingOptions: updatedOptions.tracingOptions,
805
+ }));
724
806
  }
725
807
  catch (e) {
726
808
  span.setStatus({
@@ -748,7 +830,13 @@ export class BlobClient extends StorageClient {
748
830
  var _a;
749
831
  const { span, updatedOptions } = createSpan("BlobClient-setAccessTier", options);
750
832
  try {
751
- return await this.blobContext.setTier(toAccessTier(tier), Object.assign({ abortSignal: options.abortSignal, leaseAccessConditions: options.conditions, modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }), rehydratePriority: options.rehydratePriority }, convertTracingToRequestOptionsBase(updatedOptions)));
833
+ return assertResponse(await this.blobContext.setTier(toAccessTier(tier), {
834
+ abortSignal: options.abortSignal,
835
+ leaseAccessConditions: options.conditions,
836
+ modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }),
837
+ rehydratePriority: options.rehydratePriority,
838
+ tracingOptions: updatedOptions.tracingOptions,
839
+ }));
752
840
  }
753
841
  catch (e) {
754
842
  span.setStatus({
@@ -798,7 +886,7 @@ export class BlobClient extends StorageClient {
798
886
  }
799
887
  // Customer doesn't specify length, get it
800
888
  if (!count) {
801
- const response = await this.getProperties(Object.assign(Object.assign({}, options), { tracingOptions: Object.assign(Object.assign({}, options.tracingOptions), convertTracingToRequestOptionsBase(updatedOptions)) }));
889
+ const response = await this.getProperties(Object.assign(Object.assign({}, options), { tracingOptions: updatedOptions.tracingOptions }));
802
890
  count = response.contentLength - offset;
803
891
  if (count < 0) {
804
892
  throw new RangeError(`offset ${offset} shouldn't be larger than blob size ${response.contentLength}`);
@@ -830,7 +918,7 @@ export class BlobClient extends StorageClient {
830
918
  conditions: options.conditions,
831
919
  maxRetryRequests: options.maxRetryRequestsPerBlock,
832
920
  customerProvidedKey: options.customerProvidedKey,
833
- tracingOptions: Object.assign(Object.assign({}, options.tracingOptions), convertTracingToRequestOptionsBase(updatedOptions)),
921
+ tracingOptions: updatedOptions.tracingOptions,
834
922
  });
835
923
  const stream = response.readableStreamBody;
836
924
  await streamToBuffer(stream, buffer, off - offset, chunkEnd - offset);
@@ -876,7 +964,7 @@ export class BlobClient extends StorageClient {
876
964
  async downloadToFile(filePath, offset = 0, count, options = {}) {
877
965
  const { span, updatedOptions } = createSpan("BlobClient-downloadToFile", options);
878
966
  try {
879
- const response = await this.download(offset, count, Object.assign(Object.assign({}, options), { tracingOptions: Object.assign(Object.assign({}, options.tracingOptions), convertTracingToRequestOptionsBase(updatedOptions)) }));
967
+ const response = await this.download(offset, count, Object.assign(Object.assign({}, options), { tracingOptions: updatedOptions.tracingOptions }));
880
968
  if (response.readableStreamBody) {
881
969
  await readStreamToLocalFile(response.readableStreamBody, filePath);
882
970
  }
@@ -906,11 +994,11 @@ export class BlobClient extends StorageClient {
906
994
  // "https://myaccount.blob.core.windows.net/mycontainer/blob/a.txt";
907
995
  // IPv4/IPv6 address hosts, Endpoints - `http://127.0.0.1:10000/devstoreaccount1/containername/blob`
908
996
  // http://localhost:10001/devstoreaccount1/containername/blob
909
- const parsedUrl = URLBuilder.parse(this.url);
910
- if (parsedUrl.getHost().split(".")[1] === "blob") {
997
+ const parsedUrl = new URL(this.url);
998
+ if (parsedUrl.host.split(".")[1] === "blob") {
911
999
  // "https://myaccount.blob.core.windows.net/containername/blob".
912
1000
  // .getPath() -> /containername/blob
913
- const pathComponents = parsedUrl.getPath().match("/([^/]*)(/(.*))?");
1001
+ const pathComponents = parsedUrl.pathname.match("/([^/]*)(/(.*))?");
914
1002
  containerName = pathComponents[1];
915
1003
  blobName = pathComponents[3];
916
1004
  }
@@ -918,14 +1006,14 @@ export class BlobClient extends StorageClient {
918
1006
  // IPv4/IPv6 address hosts... Example - http://192.0.0.10:10001/devstoreaccount1/containername/blob
919
1007
  // Single word domain without a [dot] in the endpoint... Example - http://localhost:10001/devstoreaccount1/containername/blob
920
1008
  // .getPath() -> /devstoreaccount1/containername/blob
921
- const pathComponents = parsedUrl.getPath().match("/([^/]*)/([^/]*)(/(.*))?");
1009
+ const pathComponents = parsedUrl.pathname.match("/([^/]*)/([^/]*)(/(.*))?");
922
1010
  containerName = pathComponents[2];
923
1011
  blobName = pathComponents[4];
924
1012
  }
925
1013
  else {
926
1014
  // "https://customdomain.com/containername/blob".
927
1015
  // .getPath() -> /containername/blob
928
- const pathComponents = parsedUrl.getPath().match("/([^/]*)(/(.*))?");
1016
+ const pathComponents = parsedUrl.pathname.match("/([^/]*)(/(.*))?");
929
1017
  containerName = pathComponents[1];
930
1018
  blobName = pathComponents[3];
931
1019
  }
@@ -963,13 +1051,27 @@ export class BlobClient extends StorageClient {
963
1051
  options.conditions = options.conditions || {};
964
1052
  options.sourceConditions = options.sourceConditions || {};
965
1053
  try {
966
- return await this.blobContext.startCopyFromURL(copySource, Object.assign({ abortSignal: options.abortSignal, leaseAccessConditions: options.conditions, metadata: options.metadata, modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }), sourceModifiedAccessConditions: {
1054
+ return assertResponse(await this.blobContext.startCopyFromURL(copySource, {
1055
+ abortSignal: options.abortSignal,
1056
+ leaseAccessConditions: options.conditions,
1057
+ metadata: options.metadata,
1058
+ modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }),
1059
+ sourceModifiedAccessConditions: {
967
1060
  sourceIfMatch: options.sourceConditions.ifMatch,
968
1061
  sourceIfModifiedSince: options.sourceConditions.ifModifiedSince,
969
1062
  sourceIfNoneMatch: options.sourceConditions.ifNoneMatch,
970
1063
  sourceIfUnmodifiedSince: options.sourceConditions.ifUnmodifiedSince,
971
1064
  sourceIfTags: options.sourceConditions.tagConditions,
972
- }, immutabilityPolicyExpiry: (_b = options.immutabilityPolicy) === null || _b === void 0 ? void 0 : _b.expiriesOn, immutabilityPolicyMode: (_c = options.immutabilityPolicy) === null || _c === void 0 ? void 0 : _c.policyMode, legalHold: options.legalHold, rehydratePriority: options.rehydratePriority, tier: toAccessTier(options.tier), blobTagsString: toBlobTagsString(options.tags), sealBlob: options.sealBlob }, convertTracingToRequestOptionsBase(updatedOptions)));
1065
+ },
1066
+ immutabilityPolicyExpiry: (_b = options.immutabilityPolicy) === null || _b === void 0 ? void 0 : _b.expiriesOn,
1067
+ immutabilityPolicyMode: (_c = options.immutabilityPolicy) === null || _c === void 0 ? void 0 : _c.policyMode,
1068
+ legalHold: options.legalHold,
1069
+ rehydratePriority: options.rehydratePriority,
1070
+ tier: toAccessTier(options.tier),
1071
+ blobTagsString: toBlobTagsString(options.tags),
1072
+ sealBlob: options.sealBlob,
1073
+ tracingOptions: updatedOptions.tracingOptions,
1074
+ }));
973
1075
  }
974
1076
  catch (e) {
975
1077
  span.setStatus({
@@ -1010,7 +1112,9 @@ export class BlobClient extends StorageClient {
1010
1112
  async deleteImmutabilityPolicy(options) {
1011
1113
  const { span, updatedOptions } = createSpan("BlobClient-deleteImmutabilityPolicy", options);
1012
1114
  try {
1013
- return await this.blobContext.deleteImmutabilityPolicy(Object.assign({ abortSignal: options === null || options === void 0 ? void 0 : options.abortSignal }, convertTracingToRequestOptionsBase(updatedOptions)));
1115
+ return assertResponse(await this.blobContext.deleteImmutabilityPolicy({
1116
+ tracingOptions: updatedOptions.tracingOptions,
1117
+ }));
1014
1118
  }
1015
1119
  catch (e) {
1016
1120
  span.setStatus({
@@ -1031,7 +1135,11 @@ export class BlobClient extends StorageClient {
1031
1135
  async setImmutabilityPolicy(immutabilityPolicy, options) {
1032
1136
  const { span, updatedOptions } = createSpan("BlobClient-setImmutabilityPolicy", options);
1033
1137
  try {
1034
- return await this.blobContext.setImmutabilityPolicy(Object.assign({ abortSignal: options === null || options === void 0 ? void 0 : options.abortSignal, immutabilityPolicyExpiry: immutabilityPolicy.expiriesOn, immutabilityPolicyMode: immutabilityPolicy.policyMode, modifiedAccessConditions: options === null || options === void 0 ? void 0 : options.modifiedAccessCondition }, convertTracingToRequestOptionsBase(updatedOptions)));
1138
+ return assertResponse(await this.blobContext.setImmutabilityPolicy({
1139
+ immutabilityPolicyExpiry: immutabilityPolicy.expiriesOn,
1140
+ immutabilityPolicyMode: immutabilityPolicy.policyMode,
1141
+ tracingOptions: updatedOptions.tracingOptions,
1142
+ }));
1035
1143
  }
1036
1144
  catch (e) {
1037
1145
  span.setStatus({
@@ -1052,7 +1160,9 @@ export class BlobClient extends StorageClient {
1052
1160
  async setLegalHold(legalHoldEnabled, options) {
1053
1161
  const { span, updatedOptions } = createSpan("BlobClient-setLegalHold", options);
1054
1162
  try {
1055
- return await this.blobContext.setLegalHold(legalHoldEnabled, Object.assign({ abortSignal: options === null || options === void 0 ? void 0 : options.abortSignal }, convertTracingToRequestOptionsBase(updatedOptions)));
1163
+ return assertResponse(await this.blobContext.setLegalHold(legalHoldEnabled, {
1164
+ tracingOptions: updatedOptions.tracingOptions,
1165
+ }));
1056
1166
  }
1057
1167
  catch (e) {
1058
1168
  span.setStatus({
@@ -1135,7 +1245,7 @@ export class AppendBlobClient extends BlobClient {
1135
1245
  throw new Error("Expecting non-empty strings for containerName and blobName parameters");
1136
1246
  }
1137
1247
  super(url, pipeline);
1138
- this.appendBlobContext = new AppendBlob(this.storageClientContext);
1248
+ this.appendBlobContext = this.storageClientContext.appendBlob;
1139
1249
  }
1140
1250
  /**
1141
1251
  * Creates a new AppendBlobClient object identical to the source but with the
@@ -1168,7 +1278,20 @@ export class AppendBlobClient extends BlobClient {
1168
1278
  options.conditions = options.conditions || {};
1169
1279
  try {
1170
1280
  ensureCpkIfSpecified(options.customerProvidedKey, this.isHttps);
1171
- return await this.appendBlobContext.create(0, Object.assign({ abortSignal: options.abortSignal, blobHttpHeaders: options.blobHTTPHeaders, leaseAccessConditions: options.conditions, metadata: options.metadata, modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }), cpkInfo: options.customerProvidedKey, encryptionScope: options.encryptionScope, immutabilityPolicyExpiry: (_b = options.immutabilityPolicy) === null || _b === void 0 ? void 0 : _b.expiriesOn, immutabilityPolicyMode: (_c = options.immutabilityPolicy) === null || _c === void 0 ? void 0 : _c.policyMode, legalHold: options.legalHold, blobTagsString: toBlobTagsString(options.tags) }, convertTracingToRequestOptionsBase(updatedOptions)));
1281
+ return assertResponse(await this.appendBlobContext.create(0, {
1282
+ abortSignal: options.abortSignal,
1283
+ blobHttpHeaders: options.blobHTTPHeaders,
1284
+ leaseAccessConditions: options.conditions,
1285
+ metadata: options.metadata,
1286
+ modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }),
1287
+ cpkInfo: options.customerProvidedKey,
1288
+ encryptionScope: options.encryptionScope,
1289
+ immutabilityPolicyExpiry: (_b = options.immutabilityPolicy) === null || _b === void 0 ? void 0 : _b.expiriesOn,
1290
+ immutabilityPolicyMode: (_c = options.immutabilityPolicy) === null || _c === void 0 ? void 0 : _c.policyMode,
1291
+ legalHold: options.legalHold,
1292
+ blobTagsString: toBlobTagsString(options.tags),
1293
+ tracingOptions: updatedOptions.tracingOptions,
1294
+ }));
1172
1295
  }
1173
1296
  catch (e) {
1174
1297
  span.setStatus({
@@ -1193,7 +1316,7 @@ export class AppendBlobClient extends BlobClient {
1193
1316
  const { span, updatedOptions } = createSpan("AppendBlobClient-createIfNotExists", options);
1194
1317
  const conditions = { ifNoneMatch: ETagAny };
1195
1318
  try {
1196
- const res = await this.create(Object.assign(Object.assign({}, updatedOptions), { conditions }));
1319
+ const res = assertResponse(await this.create(Object.assign(Object.assign({}, updatedOptions), { conditions })));
1197
1320
  return Object.assign(Object.assign({ succeeded: true }, res), { _response: res._response });
1198
1321
  }
1199
1322
  catch (e) {
@@ -1224,7 +1347,13 @@ export class AppendBlobClient extends BlobClient {
1224
1347
  const { span, updatedOptions } = createSpan("AppendBlobClient-seal", options);
1225
1348
  options.conditions = options.conditions || {};
1226
1349
  try {
1227
- return await this.appendBlobContext.seal(Object.assign({ abortSignal: options.abortSignal, appendPositionAccessConditions: options.conditions, leaseAccessConditions: options.conditions, modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }) }, convertTracingToRequestOptionsBase(updatedOptions)));
1350
+ return assertResponse(await this.appendBlobContext.seal({
1351
+ abortSignal: options.abortSignal,
1352
+ appendPositionAccessConditions: options.conditions,
1353
+ leaseAccessConditions: options.conditions,
1354
+ modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }),
1355
+ tracingOptions: updatedOptions.tracingOptions,
1356
+ }));
1228
1357
  }
1229
1358
  catch (e) {
1230
1359
  span.setStatus({
@@ -1267,9 +1396,20 @@ export class AppendBlobClient extends BlobClient {
1267
1396
  options.conditions = options.conditions || {};
1268
1397
  try {
1269
1398
  ensureCpkIfSpecified(options.customerProvidedKey, this.isHttps);
1270
- return await this.appendBlobContext.appendBlock(contentLength, body, Object.assign({ abortSignal: options.abortSignal, appendPositionAccessConditions: options.conditions, leaseAccessConditions: options.conditions, modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }), requestOptions: {
1399
+ return assertResponse(await this.appendBlobContext.appendBlock(contentLength, body, {
1400
+ abortSignal: options.abortSignal,
1401
+ appendPositionAccessConditions: options.conditions,
1402
+ leaseAccessConditions: options.conditions,
1403
+ modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }),
1404
+ requestOptions: {
1271
1405
  onUploadProgress: options.onProgress,
1272
- }, transactionalContentMD5: options.transactionalContentMD5, transactionalContentCrc64: options.transactionalContentCrc64, cpkInfo: options.customerProvidedKey, encryptionScope: options.encryptionScope }, convertTracingToRequestOptionsBase(updatedOptions)));
1406
+ },
1407
+ transactionalContentMD5: options.transactionalContentMD5,
1408
+ transactionalContentCrc64: options.transactionalContentCrc64,
1409
+ cpkInfo: options.customerProvidedKey,
1410
+ encryptionScope: options.encryptionScope,
1411
+ tracingOptions: updatedOptions.tracingOptions,
1412
+ }));
1273
1413
  }
1274
1414
  catch (e) {
1275
1415
  span.setStatus({
@@ -1303,12 +1443,25 @@ export class AppendBlobClient extends BlobClient {
1303
1443
  options.sourceConditions = options.sourceConditions || {};
1304
1444
  try {
1305
1445
  ensureCpkIfSpecified(options.customerProvidedKey, this.isHttps);
1306
- return await this.appendBlobContext.appendBlockFromUrl(sourceURL, 0, Object.assign({ abortSignal: options.abortSignal, sourceRange: rangeToString({ offset: sourceOffset, count }), sourceContentMD5: options.sourceContentMD5, sourceContentCrc64: options.sourceContentCrc64, leaseAccessConditions: options.conditions, appendPositionAccessConditions: options.conditions, modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }), sourceModifiedAccessConditions: {
1446
+ return assertResponse(await this.appendBlobContext.appendBlockFromUrl(sourceURL, 0, {
1447
+ abortSignal: options.abortSignal,
1448
+ sourceRange: rangeToString({ offset: sourceOffset, count }),
1449
+ sourceContentMD5: options.sourceContentMD5,
1450
+ sourceContentCrc64: options.sourceContentCrc64,
1451
+ leaseAccessConditions: options.conditions,
1452
+ appendPositionAccessConditions: options.conditions,
1453
+ modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }),
1454
+ sourceModifiedAccessConditions: {
1307
1455
  sourceIfMatch: options.sourceConditions.ifMatch,
1308
1456
  sourceIfModifiedSince: options.sourceConditions.ifModifiedSince,
1309
1457
  sourceIfNoneMatch: options.sourceConditions.ifNoneMatch,
1310
1458
  sourceIfUnmodifiedSince: options.sourceConditions.ifUnmodifiedSince,
1311
- }, copySourceAuthorization: httpAuthorizationToString(options.sourceAuthorization), cpkInfo: options.customerProvidedKey, encryptionScope: options.encryptionScope }, convertTracingToRequestOptionsBase(updatedOptions)));
1459
+ },
1460
+ copySourceAuthorization: httpAuthorizationToString(options.sourceAuthorization),
1461
+ cpkInfo: options.customerProvidedKey,
1462
+ encryptionScope: options.encryptionScope,
1463
+ tracingOptions: updatedOptions.tracingOptions,
1464
+ }));
1312
1465
  }
1313
1466
  catch (e) {
1314
1467
  span.setStatus({
@@ -1391,8 +1544,8 @@ export class BlockBlobClient extends BlobClient {
1391
1544
  throw new Error("Expecting non-empty strings for containerName and blobName parameters");
1392
1545
  }
1393
1546
  super(url, pipeline);
1394
- this.blockBlobContext = new BlockBlob(this.storageClientContext);
1395
- this._blobContext = new StorageBlob(this.storageClientContext);
1547
+ this.blockBlobContext = this.storageClientContext.blockBlob;
1548
+ this._blobContext = this.storageClientContext.blob;
1396
1549
  }
1397
1550
  /**
1398
1551
  * Creates a new BlockBlobClient object identical to the source but with the
@@ -1444,12 +1597,19 @@ export class BlockBlobClient extends BlobClient {
1444
1597
  throw new Error("This operation currently is only supported in Node.js.");
1445
1598
  }
1446
1599
  ensureCpkIfSpecified(options.customerProvidedKey, this.isHttps);
1447
- const response = await this._blobContext.query(Object.assign({ abortSignal: options.abortSignal, queryRequest: {
1600
+ const response = assertResponse(await this._blobContext.query({
1601
+ abortSignal: options.abortSignal,
1602
+ queryRequest: {
1448
1603
  queryType: "SQL",
1449
1604
  expression: query,
1450
1605
  inputSerialization: toQuerySerialization(options.inputTextConfiguration),
1451
1606
  outputSerialization: toQuerySerialization(options.outputTextConfiguration),
1452
- }, leaseAccessConditions: options.conditions, modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }), cpkInfo: options.customerProvidedKey }, convertTracingToRequestOptionsBase(updatedOptions)));
1607
+ },
1608
+ leaseAccessConditions: options.conditions,
1609
+ modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }),
1610
+ cpkInfo: options.customerProvidedKey,
1611
+ tracingOptions: updatedOptions.tracingOptions,
1612
+ }));
1453
1613
  return new BlobQueryResponse(response, {
1454
1614
  abortSignal: options.abortSignal,
1455
1615
  onProgress: options.onProgress,
@@ -1500,9 +1660,24 @@ export class BlockBlobClient extends BlobClient {
1500
1660
  const { span, updatedOptions } = createSpan("BlockBlobClient-upload", options);
1501
1661
  try {
1502
1662
  ensureCpkIfSpecified(options.customerProvidedKey, this.isHttps);
1503
- return await this.blockBlobContext.upload(contentLength, body, Object.assign({ abortSignal: options.abortSignal, blobHttpHeaders: options.blobHTTPHeaders, leaseAccessConditions: options.conditions, metadata: options.metadata, modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }), requestOptions: {
1663
+ return assertResponse(await this.blockBlobContext.upload(contentLength, body, {
1664
+ abortSignal: options.abortSignal,
1665
+ blobHttpHeaders: options.blobHTTPHeaders,
1666
+ leaseAccessConditions: options.conditions,
1667
+ metadata: options.metadata,
1668
+ modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }),
1669
+ requestOptions: {
1504
1670
  onUploadProgress: options.onProgress,
1505
- }, cpkInfo: options.customerProvidedKey, encryptionScope: options.encryptionScope, immutabilityPolicyExpiry: (_b = options.immutabilityPolicy) === null || _b === void 0 ? void 0 : _b.expiriesOn, immutabilityPolicyMode: (_c = options.immutabilityPolicy) === null || _c === void 0 ? void 0 : _c.policyMode, legalHold: options.legalHold, tier: toAccessTier(options.tier), blobTagsString: toBlobTagsString(options.tags) }, convertTracingToRequestOptionsBase(updatedOptions)));
1671
+ },
1672
+ cpkInfo: options.customerProvidedKey,
1673
+ encryptionScope: options.encryptionScope,
1674
+ immutabilityPolicyExpiry: (_b = options.immutabilityPolicy) === null || _b === void 0 ? void 0 : _b.expiriesOn,
1675
+ immutabilityPolicyMode: (_c = options.immutabilityPolicy) === null || _c === void 0 ? void 0 : _c.policyMode,
1676
+ legalHold: options.legalHold,
1677
+ tier: toAccessTier(options.tier),
1678
+ blobTagsString: toBlobTagsString(options.tags),
1679
+ tracingOptions: updatedOptions.tracingOptions,
1680
+ }));
1506
1681
  }
1507
1682
  catch (e) {
1508
1683
  span.setStatus({
@@ -1539,13 +1714,13 @@ export class BlockBlobClient extends BlobClient {
1539
1714
  const { span, updatedOptions } = createSpan("BlockBlobClient-syncUploadFromURL", options);
1540
1715
  try {
1541
1716
  ensureCpkIfSpecified(options.customerProvidedKey, this.isHttps);
1542
- return await this.blockBlobContext.putBlobFromUrl(0, sourceURL, Object.assign(Object.assign(Object.assign({}, options), { blobHttpHeaders: options.blobHTTPHeaders, leaseAccessConditions: options.conditions, modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: options.conditions.tagConditions }), sourceModifiedAccessConditions: {
1717
+ return assertResponse(await this.blockBlobContext.putBlobFromUrl(0, sourceURL, Object.assign(Object.assign({}, options), { blobHttpHeaders: options.blobHTTPHeaders, leaseAccessConditions: options.conditions, modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: options.conditions.tagConditions }), sourceModifiedAccessConditions: {
1543
1718
  sourceIfMatch: (_a = options.sourceConditions) === null || _a === void 0 ? void 0 : _a.ifMatch,
1544
1719
  sourceIfModifiedSince: (_b = options.sourceConditions) === null || _b === void 0 ? void 0 : _b.ifModifiedSince,
1545
1720
  sourceIfNoneMatch: (_c = options.sourceConditions) === null || _c === void 0 ? void 0 : _c.ifNoneMatch,
1546
1721
  sourceIfUnmodifiedSince: (_d = options.sourceConditions) === null || _d === void 0 ? void 0 : _d.ifUnmodifiedSince,
1547
1722
  sourceIfTags: (_e = options.sourceConditions) === null || _e === void 0 ? void 0 : _e.tagConditions,
1548
- }, cpkInfo: options.customerProvidedKey, copySourceAuthorization: httpAuthorizationToString(options.sourceAuthorization), tier: toAccessTier(options.tier), blobTagsString: toBlobTagsString(options.tags), copySourceTags: options.copySourceTags }), convertTracingToRequestOptionsBase(updatedOptions)));
1723
+ }, cpkInfo: options.customerProvidedKey, copySourceAuthorization: httpAuthorizationToString(options.sourceAuthorization), tier: toAccessTier(options.tier), blobTagsString: toBlobTagsString(options.tags), copySourceTags: options.copySourceTags, tracingOptions: updatedOptions.tracingOptions })));
1549
1724
  }
1550
1725
  catch (e) {
1551
1726
  span.setStatus({
@@ -1573,9 +1748,18 @@ export class BlockBlobClient extends BlobClient {
1573
1748
  const { span, updatedOptions } = createSpan("BlockBlobClient-stageBlock", options);
1574
1749
  try {
1575
1750
  ensureCpkIfSpecified(options.customerProvidedKey, this.isHttps);
1576
- return await this.blockBlobContext.stageBlock(blockId, contentLength, body, Object.assign({ abortSignal: options.abortSignal, leaseAccessConditions: options.conditions, requestOptions: {
1751
+ return assertResponse(await this.blockBlobContext.stageBlock(blockId, contentLength, body, {
1752
+ abortSignal: options.abortSignal,
1753
+ leaseAccessConditions: options.conditions,
1754
+ requestOptions: {
1577
1755
  onUploadProgress: options.onProgress,
1578
- }, transactionalContentMD5: options.transactionalContentMD5, transactionalContentCrc64: options.transactionalContentCrc64, cpkInfo: options.customerProvidedKey, encryptionScope: options.encryptionScope }, convertTracingToRequestOptionsBase(updatedOptions)));
1756
+ },
1757
+ transactionalContentMD5: options.transactionalContentMD5,
1758
+ transactionalContentCrc64: options.transactionalContentCrc64,
1759
+ cpkInfo: options.customerProvidedKey,
1760
+ encryptionScope: options.encryptionScope,
1761
+ tracingOptions: updatedOptions.tracingOptions,
1762
+ }));
1579
1763
  }
1580
1764
  catch (e) {
1581
1765
  span.setStatus({
@@ -1613,7 +1797,17 @@ export class BlockBlobClient extends BlobClient {
1613
1797
  const { span, updatedOptions } = createSpan("BlockBlobClient-stageBlockFromURL", options);
1614
1798
  try {
1615
1799
  ensureCpkIfSpecified(options.customerProvidedKey, this.isHttps);
1616
- return await this.blockBlobContext.stageBlockFromURL(blockId, 0, sourceURL, Object.assign({ abortSignal: options.abortSignal, leaseAccessConditions: options.conditions, sourceContentMD5: options.sourceContentMD5, sourceContentCrc64: options.sourceContentCrc64, sourceRange: offset === 0 && !count ? undefined : rangeToString({ offset, count }), cpkInfo: options.customerProvidedKey, encryptionScope: options.encryptionScope, copySourceAuthorization: httpAuthorizationToString(options.sourceAuthorization) }, convertTracingToRequestOptionsBase(updatedOptions)));
1800
+ return assertResponse(await this.blockBlobContext.stageBlockFromURL(blockId, 0, sourceURL, {
1801
+ abortSignal: options.abortSignal,
1802
+ leaseAccessConditions: options.conditions,
1803
+ sourceContentMD5: options.sourceContentMD5,
1804
+ sourceContentCrc64: options.sourceContentCrc64,
1805
+ sourceRange: offset === 0 && !count ? undefined : rangeToString({ offset, count }),
1806
+ cpkInfo: options.customerProvidedKey,
1807
+ encryptionScope: options.encryptionScope,
1808
+ copySourceAuthorization: httpAuthorizationToString(options.sourceAuthorization),
1809
+ tracingOptions: updatedOptions.tracingOptions,
1810
+ }));
1617
1811
  }
1618
1812
  catch (e) {
1619
1813
  span.setStatus({
@@ -1644,7 +1838,21 @@ export class BlockBlobClient extends BlobClient {
1644
1838
  const { span, updatedOptions } = createSpan("BlockBlobClient-commitBlockList", options);
1645
1839
  try {
1646
1840
  ensureCpkIfSpecified(options.customerProvidedKey, this.isHttps);
1647
- return await this.blockBlobContext.commitBlockList({ latest: blocks }, Object.assign({ abortSignal: options.abortSignal, blobHttpHeaders: options.blobHTTPHeaders, leaseAccessConditions: options.conditions, metadata: options.metadata, modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }), cpkInfo: options.customerProvidedKey, encryptionScope: options.encryptionScope, immutabilityPolicyExpiry: (_b = options.immutabilityPolicy) === null || _b === void 0 ? void 0 : _b.expiriesOn, immutabilityPolicyMode: (_c = options.immutabilityPolicy) === null || _c === void 0 ? void 0 : _c.policyMode, legalHold: options.legalHold, tier: toAccessTier(options.tier), blobTagsString: toBlobTagsString(options.tags) }, convertTracingToRequestOptionsBase(updatedOptions)));
1841
+ return assertResponse(await this.blockBlobContext.commitBlockList({ latest: blocks }, {
1842
+ abortSignal: options.abortSignal,
1843
+ blobHttpHeaders: options.blobHTTPHeaders,
1844
+ leaseAccessConditions: options.conditions,
1845
+ metadata: options.metadata,
1846
+ modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }),
1847
+ cpkInfo: options.customerProvidedKey,
1848
+ encryptionScope: options.encryptionScope,
1849
+ immutabilityPolicyExpiry: (_b = options.immutabilityPolicy) === null || _b === void 0 ? void 0 : _b.expiriesOn,
1850
+ immutabilityPolicyMode: (_c = options.immutabilityPolicy) === null || _c === void 0 ? void 0 : _c.policyMode,
1851
+ legalHold: options.legalHold,
1852
+ tier: toAccessTier(options.tier),
1853
+ blobTagsString: toBlobTagsString(options.tags),
1854
+ tracingOptions: updatedOptions.tracingOptions,
1855
+ }));
1648
1856
  }
1649
1857
  catch (e) {
1650
1858
  span.setStatus({
@@ -1671,7 +1879,12 @@ export class BlockBlobClient extends BlobClient {
1671
1879
  var _a;
1672
1880
  const { span, updatedOptions } = createSpan("BlockBlobClient-getBlockList", options);
1673
1881
  try {
1674
- const res = await this.blockBlobContext.getBlockList(listType, Object.assign({ abortSignal: options.abortSignal, leaseAccessConditions: options.conditions, modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }) }, convertTracingToRequestOptionsBase(updatedOptions)));
1882
+ const res = assertResponse(await this.blockBlobContext.getBlockList(listType, {
1883
+ abortSignal: options.abortSignal,
1884
+ leaseAccessConditions: options.conditions,
1885
+ modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }),
1886
+ tracingOptions: updatedOptions.tracingOptions,
1887
+ }));
1675
1888
  if (!res.committedBlocks) {
1676
1889
  res.committedBlocks = [];
1677
1890
  }
@@ -1825,7 +2038,7 @@ export class BlockBlobClient extends BlobClient {
1825
2038
  const { span, updatedOptions } = createSpan("BlockBlobClient-uploadSeekableInternal", options);
1826
2039
  try {
1827
2040
  if (size <= options.maxSingleShotSize) {
1828
- return await this.upload(bodyFactory(0, size), size, updatedOptions);
2041
+ return assertResponse(await this.upload(bodyFactory(0, size), size, updatedOptions));
1829
2042
  }
1830
2043
  const numBlocks = Math.floor((size - 1) / options.blockSize) + 1;
1831
2044
  if (numBlocks > BLOCK_BLOB_MAX_BLOCKS) {
@@ -1896,7 +2109,7 @@ export class BlockBlobClient extends BlobClient {
1896
2109
  end: count ? offset + count - 1 : Infinity,
1897
2110
  start: offset,
1898
2111
  });
1899
- }, size, Object.assign(Object.assign({}, options), { tracingOptions: Object.assign(Object.assign({}, options.tracingOptions), convertTracingToRequestOptionsBase(updatedOptions)) }));
2112
+ }, size, Object.assign(Object.assign({}, options), { tracingOptions: updatedOptions.tracingOptions }));
1900
2113
  }
1901
2114
  catch (e) {
1902
2115
  span.setStatus({
@@ -1959,7 +2172,7 @@ export class BlockBlobClient extends BlobClient {
1959
2172
  // Outgoing queue shouldn't be empty.
1960
2173
  Math.ceil((maxConcurrency / 4) * 3));
1961
2174
  await scheduler.do();
1962
- return await this.commitBlockList(blockList, Object.assign(Object.assign({}, options), { tracingOptions: Object.assign(Object.assign({}, options.tracingOptions), convertTracingToRequestOptionsBase(updatedOptions)) }));
2175
+ return assertResponse(await this.commitBlockList(blockList, Object.assign(Object.assign({}, options), { tracingOptions: updatedOptions.tracingOptions })));
1963
2176
  }
1964
2177
  catch (e) {
1965
2178
  span.setStatus({
@@ -2042,7 +2255,7 @@ export class PageBlobClient extends BlobClient {
2042
2255
  throw new Error("Expecting non-empty strings for containerName and blobName parameters");
2043
2256
  }
2044
2257
  super(url, pipeline);
2045
- this.pageBlobContext = new PageBlob(this.storageClientContext);
2258
+ this.pageBlobContext = this.storageClientContext.pageBlob;
2046
2259
  }
2047
2260
  /**
2048
2261
  * Creates a new PageBlobClient object identical to the source but with the
@@ -2070,7 +2283,22 @@ export class PageBlobClient extends BlobClient {
2070
2283
  const { span, updatedOptions } = createSpan("PageBlobClient-create", options);
2071
2284
  try {
2072
2285
  ensureCpkIfSpecified(options.customerProvidedKey, this.isHttps);
2073
- return await this.pageBlobContext.create(0, size, Object.assign({ abortSignal: options.abortSignal, blobHttpHeaders: options.blobHTTPHeaders, blobSequenceNumber: options.blobSequenceNumber, leaseAccessConditions: options.conditions, metadata: options.metadata, modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }), cpkInfo: options.customerProvidedKey, encryptionScope: options.encryptionScope, immutabilityPolicyExpiry: (_b = options.immutabilityPolicy) === null || _b === void 0 ? void 0 : _b.expiriesOn, immutabilityPolicyMode: (_c = options.immutabilityPolicy) === null || _c === void 0 ? void 0 : _c.policyMode, legalHold: options.legalHold, tier: toAccessTier(options.tier), blobTagsString: toBlobTagsString(options.tags) }, convertTracingToRequestOptionsBase(updatedOptions)));
2286
+ return assertResponse(await this.pageBlobContext.create(0, size, {
2287
+ abortSignal: options.abortSignal,
2288
+ blobHttpHeaders: options.blobHTTPHeaders,
2289
+ blobSequenceNumber: options.blobSequenceNumber,
2290
+ leaseAccessConditions: options.conditions,
2291
+ metadata: options.metadata,
2292
+ modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }),
2293
+ cpkInfo: options.customerProvidedKey,
2294
+ encryptionScope: options.encryptionScope,
2295
+ immutabilityPolicyExpiry: (_b = options.immutabilityPolicy) === null || _b === void 0 ? void 0 : _b.expiriesOn,
2296
+ immutabilityPolicyMode: (_c = options.immutabilityPolicy) === null || _c === void 0 ? void 0 : _c.policyMode,
2297
+ legalHold: options.legalHold,
2298
+ tier: toAccessTier(options.tier),
2299
+ blobTagsString: toBlobTagsString(options.tags),
2300
+ tracingOptions: updatedOptions.tracingOptions,
2301
+ }));
2074
2302
  }
2075
2303
  catch (e) {
2076
2304
  span.setStatus({
@@ -2097,7 +2325,7 @@ export class PageBlobClient extends BlobClient {
2097
2325
  const { span, updatedOptions } = createSpan("PageBlobClient-createIfNotExists", options);
2098
2326
  try {
2099
2327
  const conditions = { ifNoneMatch: ETagAny };
2100
- const res = await this.create(size, Object.assign(Object.assign({}, options), { conditions, tracingOptions: updatedOptions.tracingOptions }));
2328
+ const res = assertResponse(await this.create(size, Object.assign(Object.assign({}, options), { conditions, tracingOptions: updatedOptions.tracingOptions })));
2101
2329
  return Object.assign(Object.assign({ succeeded: true }, res), { _response: res._response });
2102
2330
  }
2103
2331
  catch (e) {
@@ -2134,9 +2362,21 @@ export class PageBlobClient extends BlobClient {
2134
2362
  const { span, updatedOptions } = createSpan("PageBlobClient-uploadPages", options);
2135
2363
  try {
2136
2364
  ensureCpkIfSpecified(options.customerProvidedKey, this.isHttps);
2137
- return await this.pageBlobContext.uploadPages(count, body, Object.assign({ abortSignal: options.abortSignal, leaseAccessConditions: options.conditions, modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }), requestOptions: {
2365
+ return assertResponse(await this.pageBlobContext.uploadPages(count, body, {
2366
+ abortSignal: options.abortSignal,
2367
+ leaseAccessConditions: options.conditions,
2368
+ modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }),
2369
+ requestOptions: {
2138
2370
  onUploadProgress: options.onProgress,
2139
- }, range: rangeToString({ offset, count }), sequenceNumberAccessConditions: options.conditions, transactionalContentMD5: options.transactionalContentMD5, transactionalContentCrc64: options.transactionalContentCrc64, cpkInfo: options.customerProvidedKey, encryptionScope: options.encryptionScope }, convertTracingToRequestOptionsBase(updatedOptions)));
2371
+ },
2372
+ range: rangeToString({ offset, count }),
2373
+ sequenceNumberAccessConditions: options.conditions,
2374
+ transactionalContentMD5: options.transactionalContentMD5,
2375
+ transactionalContentCrc64: options.transactionalContentCrc64,
2376
+ cpkInfo: options.customerProvidedKey,
2377
+ encryptionScope: options.encryptionScope,
2378
+ tracingOptions: updatedOptions.tracingOptions,
2379
+ }));
2140
2380
  }
2141
2381
  catch (e) {
2142
2382
  span.setStatus({
@@ -2167,12 +2407,24 @@ export class PageBlobClient extends BlobClient {
2167
2407
  const { span, updatedOptions } = createSpan("PageBlobClient-uploadPagesFromURL", options);
2168
2408
  try {
2169
2409
  ensureCpkIfSpecified(options.customerProvidedKey, this.isHttps);
2170
- return await this.pageBlobContext.uploadPagesFromURL(sourceURL, rangeToString({ offset: sourceOffset, count }), 0, rangeToString({ offset: destOffset, count }), Object.assign({ abortSignal: options.abortSignal, sourceContentMD5: options.sourceContentMD5, sourceContentCrc64: options.sourceContentCrc64, leaseAccessConditions: options.conditions, sequenceNumberAccessConditions: options.conditions, modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }), sourceModifiedAccessConditions: {
2410
+ return assertResponse(await this.pageBlobContext.uploadPagesFromURL(sourceURL, rangeToString({ offset: sourceOffset, count }), 0, rangeToString({ offset: destOffset, count }), {
2411
+ abortSignal: options.abortSignal,
2412
+ sourceContentMD5: options.sourceContentMD5,
2413
+ sourceContentCrc64: options.sourceContentCrc64,
2414
+ leaseAccessConditions: options.conditions,
2415
+ sequenceNumberAccessConditions: options.conditions,
2416
+ modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }),
2417
+ sourceModifiedAccessConditions: {
2171
2418
  sourceIfMatch: options.sourceConditions.ifMatch,
2172
2419
  sourceIfModifiedSince: options.sourceConditions.ifModifiedSince,
2173
2420
  sourceIfNoneMatch: options.sourceConditions.ifNoneMatch,
2174
2421
  sourceIfUnmodifiedSince: options.sourceConditions.ifUnmodifiedSince,
2175
- }, cpkInfo: options.customerProvidedKey, encryptionScope: options.encryptionScope, copySourceAuthorization: httpAuthorizationToString(options.sourceAuthorization) }, convertTracingToRequestOptionsBase(updatedOptions)));
2422
+ },
2423
+ cpkInfo: options.customerProvidedKey,
2424
+ encryptionScope: options.encryptionScope,
2425
+ copySourceAuthorization: httpAuthorizationToString(options.sourceAuthorization),
2426
+ tracingOptions: updatedOptions.tracingOptions,
2427
+ }));
2176
2428
  }
2177
2429
  catch (e) {
2178
2430
  span.setStatus({
@@ -2199,7 +2451,16 @@ export class PageBlobClient extends BlobClient {
2199
2451
  options.conditions = options.conditions || {};
2200
2452
  const { span, updatedOptions } = createSpan("PageBlobClient-clearPages", options);
2201
2453
  try {
2202
- return await this.pageBlobContext.clearPages(0, Object.assign({ abortSignal: options.abortSignal, leaseAccessConditions: options.conditions, modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }), range: rangeToString({ offset, count }), sequenceNumberAccessConditions: options.conditions, cpkInfo: options.customerProvidedKey, encryptionScope: options.encryptionScope }, convertTracingToRequestOptionsBase(updatedOptions)));
2454
+ return assertResponse(await this.pageBlobContext.clearPages(0, {
2455
+ abortSignal: options.abortSignal,
2456
+ leaseAccessConditions: options.conditions,
2457
+ modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }),
2458
+ range: rangeToString({ offset, count }),
2459
+ sequenceNumberAccessConditions: options.conditions,
2460
+ cpkInfo: options.customerProvidedKey,
2461
+ encryptionScope: options.encryptionScope,
2462
+ tracingOptions: updatedOptions.tracingOptions,
2463
+ }));
2203
2464
  }
2204
2465
  catch (e) {
2205
2466
  span.setStatus({
@@ -2226,9 +2487,14 @@ export class PageBlobClient extends BlobClient {
2226
2487
  options.conditions = options.conditions || {};
2227
2488
  const { span, updatedOptions } = createSpan("PageBlobClient-getPageRanges", options);
2228
2489
  try {
2229
- return await this.pageBlobContext
2230
- .getPageRanges(Object.assign({ abortSignal: options.abortSignal, leaseAccessConditions: options.conditions, modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }), range: rangeToString({ offset, count }) }, convertTracingToRequestOptionsBase(updatedOptions)))
2231
- .then(rangeResponseFromModel);
2490
+ const response = assertResponse(await this.pageBlobContext.getPageRanges({
2491
+ abortSignal: options.abortSignal,
2492
+ leaseAccessConditions: options.conditions,
2493
+ modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }),
2494
+ range: rangeToString({ offset, count }),
2495
+ tracingOptions: updatedOptions.tracingOptions,
2496
+ }));
2497
+ return rangeResponseFromModel(response);
2232
2498
  }
2233
2499
  catch (e) {
2234
2500
  span.setStatus({
@@ -2257,7 +2523,15 @@ export class PageBlobClient extends BlobClient {
2257
2523
  var _a;
2258
2524
  const { span, updatedOptions } = createSpan("PageBlobClient-getPageRangesSegment", options);
2259
2525
  try {
2260
- return await this.pageBlobContext.getPageRanges(Object.assign({ abortSignal: options.abortSignal, leaseAccessConditions: options.conditions, modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }), range: rangeToString({ offset, count }), marker: marker, maxPageSize: options.maxPageSize }, convertTracingToRequestOptionsBase(updatedOptions)));
2526
+ return assertResponse(await this.pageBlobContext.getPageRanges({
2527
+ abortSignal: options.abortSignal,
2528
+ leaseAccessConditions: options.conditions,
2529
+ modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }),
2530
+ range: rangeToString({ offset, count }),
2531
+ marker: marker,
2532
+ maxPageSize: options.maxPageSize,
2533
+ tracingOptions: updatedOptions.tracingOptions,
2534
+ }));
2261
2535
  }
2262
2536
  catch (e) {
2263
2537
  span.setStatus({
@@ -2433,9 +2707,15 @@ export class PageBlobClient extends BlobClient {
2433
2707
  options.conditions = options.conditions || {};
2434
2708
  const { span, updatedOptions } = createSpan("PageBlobClient-getPageRangesDiff", options);
2435
2709
  try {
2436
- return await this.pageBlobContext
2437
- .getPageRangesDiff(Object.assign({ abortSignal: options.abortSignal, leaseAccessConditions: options.conditions, modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }), prevsnapshot: prevSnapshot, range: rangeToString({ offset, count }) }, convertTracingToRequestOptionsBase(updatedOptions)))
2438
- .then(rangeResponseFromModel);
2710
+ const result = assertResponse(await this.pageBlobContext.getPageRangesDiff({
2711
+ abortSignal: options.abortSignal,
2712
+ leaseAccessConditions: options.conditions,
2713
+ modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }),
2714
+ prevsnapshot: prevSnapshot,
2715
+ range: rangeToString({ offset, count }),
2716
+ tracingOptions: updatedOptions.tracingOptions,
2717
+ }));
2718
+ return rangeResponseFromModel(result);
2439
2719
  }
2440
2720
  catch (e) {
2441
2721
  span.setStatus({
@@ -2466,10 +2746,19 @@ export class PageBlobClient extends BlobClient {
2466
2746
  var _a;
2467
2747
  const { span, updatedOptions } = createSpan("PageBlobClient-getPageRangesDiffSegment", options);
2468
2748
  try {
2469
- return await this.pageBlobContext.getPageRangesDiff(Object.assign({ abortSignal: options === null || options === void 0 ? void 0 : options.abortSignal, leaseAccessConditions: options === null || options === void 0 ? void 0 : options.conditions, modifiedAccessConditions: Object.assign(Object.assign({}, options === null || options === void 0 ? void 0 : options.conditions), { ifTags: (_a = options === null || options === void 0 ? void 0 : options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }), prevsnapshot: prevSnapshotOrUrl, range: rangeToString({
2749
+ return assertResponse(await this.pageBlobContext.getPageRangesDiff({
2750
+ abortSignal: options === null || options === void 0 ? void 0 : options.abortSignal,
2751
+ leaseAccessConditions: options === null || options === void 0 ? void 0 : options.conditions,
2752
+ modifiedAccessConditions: Object.assign(Object.assign({}, options === null || options === void 0 ? void 0 : options.conditions), { ifTags: (_a = options === null || options === void 0 ? void 0 : options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }),
2753
+ prevsnapshot: prevSnapshotOrUrl,
2754
+ range: rangeToString({
2470
2755
  offset: offset,
2471
2756
  count: count,
2472
- }), marker: marker, maxPageSize: options === null || options === void 0 ? void 0 : options.maxPageSize }, convertTracingToRequestOptionsBase(updatedOptions)));
2757
+ }),
2758
+ marker: marker,
2759
+ maxPageSize: options === null || options === void 0 ? void 0 : options.maxPageSize,
2760
+ tracingOptions: updatedOptions.tracingOptions,
2761
+ }));
2473
2762
  }
2474
2763
  catch (e) {
2475
2764
  span.setStatus({
@@ -2649,9 +2938,15 @@ export class PageBlobClient extends BlobClient {
2649
2938
  options.conditions = options.conditions || {};
2650
2939
  const { span, updatedOptions } = createSpan("PageBlobClient-GetPageRangesDiffForManagedDisks", options);
2651
2940
  try {
2652
- return await this.pageBlobContext
2653
- .getPageRangesDiff(Object.assign({ abortSignal: options.abortSignal, leaseAccessConditions: options.conditions, modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }), prevSnapshotUrl, range: rangeToString({ offset, count }) }, convertTracingToRequestOptionsBase(updatedOptions)))
2654
- .then(rangeResponseFromModel);
2941
+ const response = assertResponse(await this.pageBlobContext.getPageRangesDiff({
2942
+ abortSignal: options.abortSignal,
2943
+ leaseAccessConditions: options.conditions,
2944
+ modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }),
2945
+ prevSnapshotUrl,
2946
+ range: rangeToString({ offset, count }),
2947
+ tracingOptions: updatedOptions.tracingOptions,
2948
+ }));
2949
+ return rangeResponseFromModel(response);
2655
2950
  }
2656
2951
  catch (e) {
2657
2952
  span.setStatus({
@@ -2677,7 +2972,13 @@ export class PageBlobClient extends BlobClient {
2677
2972
  options.conditions = options.conditions || {};
2678
2973
  const { span, updatedOptions } = createSpan("PageBlobClient-resize", options);
2679
2974
  try {
2680
- return await this.pageBlobContext.resize(size, Object.assign({ abortSignal: options.abortSignal, leaseAccessConditions: options.conditions, modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }), encryptionScope: options.encryptionScope }, convertTracingToRequestOptionsBase(updatedOptions)));
2975
+ return assertResponse(await this.pageBlobContext.resize(size, {
2976
+ abortSignal: options.abortSignal,
2977
+ leaseAccessConditions: options.conditions,
2978
+ modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }),
2979
+ encryptionScope: options.encryptionScope,
2980
+ tracingOptions: updatedOptions.tracingOptions,
2981
+ }));
2681
2982
  }
2682
2983
  catch (e) {
2683
2984
  span.setStatus({
@@ -2704,7 +3005,13 @@ export class PageBlobClient extends BlobClient {
2704
3005
  options.conditions = options.conditions || {};
2705
3006
  const { span, updatedOptions } = createSpan("PageBlobClient-updateSequenceNumber", options);
2706
3007
  try {
2707
- return await this.pageBlobContext.updateSequenceNumber(sequenceNumberAction, Object.assign({ abortSignal: options.abortSignal, blobSequenceNumber: sequenceNumber, leaseAccessConditions: options.conditions, modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }) }, convertTracingToRequestOptionsBase(updatedOptions)));
3008
+ return assertResponse(await this.pageBlobContext.updateSequenceNumber(sequenceNumberAction, {
3009
+ abortSignal: options.abortSignal,
3010
+ blobSequenceNumber: sequenceNumber,
3011
+ leaseAccessConditions: options.conditions,
3012
+ modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }),
3013
+ tracingOptions: updatedOptions.tracingOptions,
3014
+ }));
2708
3015
  }
2709
3016
  catch (e) {
2710
3017
  span.setStatus({
@@ -2734,7 +3041,11 @@ export class PageBlobClient extends BlobClient {
2734
3041
  var _a;
2735
3042
  const { span, updatedOptions } = createSpan("PageBlobClient-startCopyIncremental", options);
2736
3043
  try {
2737
- return await this.pageBlobContext.copyIncremental(copySource, Object.assign({ abortSignal: options.abortSignal, modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }) }, convertTracingToRequestOptionsBase(updatedOptions)));
3044
+ return assertResponse(await this.pageBlobContext.copyIncremental(copySource, {
3045
+ abortSignal: options.abortSignal,
3046
+ modifiedAccessConditions: Object.assign(Object.assign({}, options.conditions), { ifTags: (_a = options.conditions) === null || _a === void 0 ? void 0 : _a.tagConditions }),
3047
+ tracingOptions: updatedOptions.tracingOptions,
3048
+ }));
2738
3049
  }
2739
3050
  catch (e) {
2740
3051
  span.setStatus({