@azure/storage-file-share 12.15.0-beta.1 → 12.20.0-alpha.20230607.3
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.
- package/dist/index.js +7060 -7656
- package/dist/index.js.map +1 -1
- package/dist-esm/storage-blob/src/BatchResponse.js +4 -0
- package/dist-esm/storage-blob/src/BatchResponse.js.map +1 -0
- package/dist-esm/storage-blob/src/BatchResponseParser.js +137 -0
- package/dist-esm/storage-blob/src/BatchResponseParser.js.map +1 -0
- package/dist-esm/storage-blob/src/BatchUtils.browser.js +11 -0
- package/dist-esm/storage-blob/src/BatchUtils.browser.js.map +1 -0
- package/dist-esm/storage-blob/src/BatchUtils.js +15 -0
- package/dist-esm/storage-blob/src/BatchUtils.js.map +1 -0
- package/dist-esm/storage-blob/src/BlobBatch.js +267 -0
- package/dist-esm/storage-blob/src/BlobBatch.js.map +1 -0
- package/dist-esm/storage-blob/src/BlobBatchClient.js +140 -0
- package/dist-esm/storage-blob/src/BlobBatchClient.js.map +1 -0
- package/dist-esm/storage-blob/src/BlobDownloadResponse.browser.js +7 -0
- package/dist-esm/storage-blob/src/BlobDownloadResponse.browser.js.map +1 -0
- package/dist-esm/storage-blob/src/BlobDownloadResponse.js +455 -0
- package/dist-esm/storage-blob/src/BlobDownloadResponse.js.map +1 -0
- package/dist-esm/storage-blob/src/BlobLeaseClient.js +192 -0
- package/dist-esm/storage-blob/src/BlobLeaseClient.js.map +1 -0
- package/dist-esm/storage-blob/src/BlobQueryResponse.browser.js +362 -0
- package/dist-esm/storage-blob/src/BlobQueryResponse.browser.js.map +1 -0
- package/dist-esm/storage-blob/src/BlobQueryResponse.js +367 -0
- package/dist-esm/storage-blob/src/BlobQueryResponse.js.map +1 -0
- package/dist-esm/storage-blob/src/BlobServiceClient.js +702 -0
- package/dist-esm/storage-blob/src/BlobServiceClient.js.map +1 -0
- package/dist-esm/storage-blob/src/Clients.js +2527 -0
- package/dist-esm/storage-blob/src/Clients.js.map +1 -0
- package/dist-esm/storage-blob/src/ContainerClient.js +1161 -0
- package/dist-esm/storage-blob/src/ContainerClient.js.map +1 -0
- package/dist-esm/storage-blob/src/PageBlobRangeResponse.js +24 -0
- package/dist-esm/storage-blob/src/PageBlobRangeResponse.js.map +1 -0
- package/dist-esm/storage-blob/src/Pipeline.js +259 -0
- package/dist-esm/storage-blob/src/Pipeline.js.map +1 -0
- package/dist-esm/storage-blob/src/Range.js +21 -0
- package/dist-esm/storage-blob/src/Range.js.map +1 -0
- package/dist-esm/{src → storage-blob/src}/StorageBrowserPolicyFactory.js +1 -1
- package/dist-esm/storage-blob/src/StorageBrowserPolicyFactory.js.map +1 -0
- package/dist-esm/storage-blob/src/StorageClient.js +29 -0
- package/dist-esm/storage-blob/src/StorageClient.js.map +1 -0
- package/dist-esm/storage-blob/src/StorageContextClient.js +17 -0
- package/dist-esm/storage-blob/src/StorageContextClient.js.map +1 -0
- package/dist-esm/{src → storage-blob/src}/StorageRetryPolicyFactory.js +2 -1
- package/dist-esm/storage-blob/src/StorageRetryPolicyFactory.js.map +1 -0
- package/dist-esm/{src → storage-blob/src}/credentials/AnonymousCredential.js +1 -1
- package/dist-esm/storage-blob/src/credentials/AnonymousCredential.js.map +1 -0
- package/dist-esm/storage-blob/src/credentials/Credential.js.map +1 -0
- package/dist-esm/storage-blob/src/credentials/StorageSharedKeyCredential.browser.js.map +1 -0
- package/dist-esm/{src → storage-blob/src}/credentials/StorageSharedKeyCredential.js +1 -1
- package/dist-esm/storage-blob/src/credentials/StorageSharedKeyCredential.js.map +1 -0
- package/dist-esm/storage-blob/src/credentials/UserDelegationKeyCredential.browser.js +5 -0
- package/dist-esm/storage-blob/src/credentials/UserDelegationKeyCredential.browser.js.map +1 -0
- package/dist-esm/storage-blob/src/credentials/UserDelegationKeyCredential.js +31 -0
- package/dist-esm/storage-blob/src/credentials/UserDelegationKeyCredential.js.map +1 -0
- package/dist-esm/{src → storage-blob/src}/generated/src/index.js +1 -1
- package/dist-esm/storage-blob/src/generated/src/index.js.map +1 -0
- package/dist-esm/storage-blob/src/generated/src/models/index.js +256 -0
- package/dist-esm/storage-blob/src/generated/src/models/index.js.map +1 -0
- package/dist-esm/storage-blob/src/generated/src/models/mappers.js +8196 -0
- package/dist-esm/storage-blob/src/generated/src/models/mappers.js.map +1 -0
- package/dist-esm/storage-blob/src/generated/src/models/parameters.js +1610 -0
- package/dist-esm/storage-blob/src/generated/src/models/parameters.js.map +1 -0
- package/dist-esm/storage-blob/src/generated/src/operations/appendBlob.js +221 -0
- package/dist-esm/storage-blob/src/generated/src/operations/appendBlob.js.map +1 -0
- package/dist-esm/storage-blob/src/generated/src/operations/blob.js +997 -0
- package/dist-esm/storage-blob/src/generated/src/operations/blob.js.map +1 -0
- package/dist-esm/storage-blob/src/generated/src/operations/blockBlob.js +365 -0
- package/dist-esm/storage-blob/src/generated/src/operations/blockBlob.js.map +1 -0
- package/dist-esm/storage-blob/src/generated/src/operations/container.js +705 -0
- package/dist-esm/storage-blob/src/generated/src/operations/container.js.map +1 -0
- package/dist-esm/storage-blob/src/generated/src/operations/index.js +14 -0
- package/dist-esm/storage-blob/src/generated/src/operations/index.js.map +1 -0
- package/dist-esm/storage-blob/src/generated/src/operations/pageBlob.js +456 -0
- package/dist-esm/storage-blob/src/generated/src/operations/pageBlob.js.map +1 -0
- package/dist-esm/storage-blob/src/generated/src/operations/service.js +315 -0
- package/dist-esm/storage-blob/src/generated/src/operations/service.js.map +1 -0
- package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/appendBlob.js +9 -0
- package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/appendBlob.js.map +1 -0
- package/dist-esm/{src/generated/src/models/index.js → storage-blob/src/generated/src/operationsInterfaces/blob.js} +1 -1
- package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/blob.js.map +1 -0
- package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/blockBlob.js +9 -0
- package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/blockBlob.js.map +1 -0
- package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/container.js +9 -0
- package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/container.js.map +1 -0
- package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/index.js +14 -0
- package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/index.js.map +1 -0
- package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/pageBlob.js +9 -0
- package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/pageBlob.js.map +1 -0
- package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/service.js +9 -0
- package/dist-esm/storage-blob/src/generated/src/operationsInterfaces/service.js.map +1 -0
- package/dist-esm/storage-blob/src/generated/src/storageClient.js +49 -0
- package/dist-esm/storage-blob/src/generated/src/storageClient.js.map +1 -0
- package/dist-esm/storage-blob/src/generatedModels.js +4 -0
- package/dist-esm/storage-blob/src/generatedModels.js.map +1 -0
- package/dist-esm/storage-blob/src/index.browser.js +23 -0
- package/dist-esm/storage-blob/src/index.browser.js.map +1 -0
- package/dist-esm/storage-blob/src/index.js +33 -0
- package/dist-esm/storage-blob/src/index.js.map +1 -0
- package/dist-esm/storage-blob/src/log.js +8 -0
- package/dist-esm/storage-blob/src/log.js.map +1 -0
- package/dist-esm/storage-blob/src/models.js +108 -0
- package/dist-esm/storage-blob/src/models.js.map +1 -0
- package/dist-esm/storage-blob/src/policies/AnonymousCredentialPolicy.js.map +1 -0
- package/dist-esm/{src → storage-blob/src}/policies/CredentialPolicy.js +1 -1
- package/dist-esm/storage-blob/src/policies/CredentialPolicy.js.map +1 -0
- package/dist-esm/storage-blob/src/policies/RequestPolicy.js +40 -0
- package/dist-esm/storage-blob/src/policies/RequestPolicy.js.map +1 -0
- package/dist-esm/{src → storage-blob/src}/policies/StorageBrowserPolicy.js +2 -1
- package/dist-esm/{src → storage-blob/src}/policies/StorageBrowserPolicy.js.map +1 -1
- package/dist-esm/storage-blob/src/policies/StorageBrowserPolicyV2.js +31 -0
- package/dist-esm/storage-blob/src/policies/StorageBrowserPolicyV2.js.map +1 -0
- package/dist-esm/{src → storage-blob/src}/policies/StorageRetryPolicy.js +15 -6
- package/dist-esm/storage-blob/src/policies/StorageRetryPolicy.js.map +1 -0
- package/dist-esm/storage-blob/src/policies/StorageRetryPolicyV2.js +165 -0
- package/dist-esm/storage-blob/src/policies/StorageRetryPolicyV2.js.map +1 -0
- package/dist-esm/storage-blob/src/policies/StorageSharedKeyCredentialPolicy.js.map +1 -0
- package/dist-esm/storage-blob/src/policies/StorageSharedKeyCredentialPolicyV2.browser.js +18 -0
- package/dist-esm/storage-blob/src/policies/StorageSharedKeyCredentialPolicyV2.browser.js.map +1 -0
- package/dist-esm/storage-blob/src/policies/StorageSharedKeyCredentialPolicyV2.js +131 -0
- package/dist-esm/storage-blob/src/policies/StorageSharedKeyCredentialPolicyV2.js.map +1 -0
- package/dist-esm/storage-blob/src/pollers/BlobStartCopyFromUrlPoller.js +130 -0
- package/dist-esm/storage-blob/src/pollers/BlobStartCopyFromUrlPoller.js.map +1 -0
- package/dist-esm/storage-blob/src/sas/AccountSASPermissions.js +227 -0
- package/dist-esm/storage-blob/src/sas/AccountSASPermissions.js.map +1 -0
- package/dist-esm/storage-blob/src/sas/AccountSASResourceTypes.js.map +1 -0
- package/dist-esm/storage-blob/src/sas/AccountSASServices.js.map +1 -0
- package/dist-esm/storage-blob/src/sas/AccountSASSignatureValues.js +93 -0
- package/dist-esm/storage-blob/src/sas/AccountSASSignatureValues.js.map +1 -0
- package/dist-esm/storage-blob/src/sas/BlobSASPermissions.js +195 -0
- package/dist-esm/storage-blob/src/sas/BlobSASPermissions.js.map +1 -0
- package/dist-esm/storage-blob/src/sas/BlobSASSignatureValues.js +555 -0
- package/dist-esm/storage-blob/src/sas/BlobSASSignatureValues.js.map +1 -0
- package/dist-esm/storage-blob/src/sas/ContainerSASPermissions.js +221 -0
- package/dist-esm/storage-blob/src/sas/ContainerSASPermissions.js.map +1 -0
- package/dist-esm/storage-blob/src/sas/SASQueryParameters.js +234 -0
- package/dist-esm/storage-blob/src/sas/SASQueryParameters.js.map +1 -0
- package/dist-esm/storage-blob/src/sas/SasIPRange.js +13 -0
- package/dist-esm/storage-blob/src/sas/SasIPRange.js.map +1 -0
- package/dist-esm/storage-blob/src/utils/Batch.js.map +1 -0
- package/dist-esm/storage-blob/src/utils/BlobQuickQueryStream.js +111 -0
- package/dist-esm/storage-blob/src/utils/BlobQuickQueryStream.js.map +1 -0
- package/dist-esm/storage-blob/src/utils/Mutex.js +66 -0
- package/dist-esm/storage-blob/src/utils/Mutex.js.map +1 -0
- package/dist-esm/storage-blob/src/utils/RetriableReadableStream.js +119 -0
- package/dist-esm/storage-blob/src/utils/RetriableReadableStream.js.map +1 -0
- package/dist-esm/storage-blob/src/utils/cache.js +11 -0
- package/dist-esm/storage-blob/src/utils/cache.js.map +1 -0
- package/dist-esm/storage-blob/src/utils/constants.js +223 -0
- package/dist-esm/storage-blob/src/utils/constants.js.map +1 -0
- package/dist-esm/storage-blob/src/utils/tracing.js +14 -0
- package/dist-esm/storage-blob/src/utils/tracing.js.map +1 -0
- package/dist-esm/storage-blob/src/utils/utils.browser.js +48 -0
- package/dist-esm/storage-blob/src/utils/utils.browser.js.map +1 -0
- package/dist-esm/storage-blob/src/utils/utils.common.js +754 -0
- package/dist-esm/storage-blob/src/utils/utils.common.js.map +1 -0
- package/dist-esm/storage-blob/src/utils/utils.node.js +132 -0
- package/dist-esm/storage-blob/src/utils/utils.node.js.map +1 -0
- package/dist-esm/storage-file-share/src/AccountSASPermissions.js.map +1 -0
- package/dist-esm/storage-file-share/src/AccountSASResourceTypes.js +72 -0
- package/dist-esm/storage-file-share/src/AccountSASResourceTypes.js.map +1 -0
- package/dist-esm/storage-file-share/src/AccountSASServices.js +80 -0
- package/dist-esm/storage-file-share/src/AccountSASServices.js.map +1 -0
- package/dist-esm/storage-file-share/src/AccountSASSignatureValues.js.map +1 -0
- package/dist-esm/{src → storage-file-share/src}/Clients.js +476 -1253
- package/dist-esm/storage-file-share/src/Clients.js.map +1 -0
- package/dist-esm/storage-file-share/src/FileDownloadResponse.browser.js.map +1 -0
- package/dist-esm/{src → storage-file-share/src}/FileDownloadResponse.js +15 -14
- package/dist-esm/storage-file-share/src/FileDownloadResponse.js.map +1 -0
- package/dist-esm/storage-file-share/src/FileSASPermissions.js.map +1 -0
- package/dist-esm/storage-file-share/src/FileSASSignatureValues.js.map +1 -0
- package/dist-esm/storage-file-share/src/FileSystemAttributes.js.map +1 -0
- package/dist-esm/storage-file-share/src/Range.js.map +1 -0
- package/dist-esm/{src → storage-file-share/src}/SASQueryParameters.js +14 -14
- package/dist-esm/storage-file-share/src/SASQueryParameters.js.map +1 -0
- package/dist-esm/storage-file-share/src/SasIPRange.js.map +1 -0
- package/dist-esm/{src → storage-file-share/src}/ShareClientInternal.js +1 -2
- package/dist-esm/storage-file-share/src/ShareClientInternal.js.map +1 -0
- package/dist-esm/storage-file-share/src/ShareSASPermissions.js.map +1 -0
- package/dist-esm/{src → storage-file-share/src}/ShareServiceClient.js +58 -121
- package/dist-esm/storage-file-share/src/ShareServiceClient.js.map +1 -0
- package/dist-esm/{src → storage-file-share/src}/StorageClient.js +20 -14
- package/dist-esm/storage-file-share/src/StorageClient.js.map +1 -0
- package/dist-esm/storage-file-share/src/StorageContextClient.js +18 -0
- package/dist-esm/storage-file-share/src/StorageContextClient.js.map +1 -0
- package/dist-esm/storage-file-share/src/generated/src/index.js +11 -0
- package/dist-esm/storage-file-share/src/generated/src/index.js.map +1 -0
- package/dist-esm/storage-file-share/src/generated/src/models/index.js +144 -0
- package/dist-esm/storage-file-share/src/generated/src/models/index.js.map +1 -0
- package/dist-esm/{src → storage-file-share/src}/generated/src/models/mappers.js +16 -64
- package/dist-esm/storage-file-share/src/generated/src/models/mappers.js.map +1 -0
- package/dist-esm/{src → storage-file-share/src}/generated/src/models/parameters.js +17 -37
- package/dist-esm/storage-file-share/src/generated/src/models/parameters.js.map +1 -0
- package/dist-esm/{src → storage-file-share/src}/generated/src/operations/directory.js +17 -73
- package/dist-esm/storage-file-share/src/generated/src/operations/directory.js.map +1 -0
- package/dist-esm/{src → storage-file-share/src}/generated/src/operations/file.js +33 -142
- package/dist-esm/storage-file-share/src/generated/src/operations/file.js.map +1 -0
- package/dist-esm/storage-file-share/src/generated/src/operations/index.js.map +1 -0
- package/dist-esm/{src → storage-file-share/src}/generated/src/operations/service.js +7 -17
- package/dist-esm/storage-file-share/src/generated/src/operations/service.js.map +1 -0
- package/dist-esm/{src → storage-file-share/src}/generated/src/operations/share.js +26 -85
- package/dist-esm/storage-file-share/src/generated/src/operations/share.js.map +1 -0
- package/dist-esm/storage-file-share/src/generated/src/operationsInterfaces/directory.js +9 -0
- package/dist-esm/storage-file-share/src/generated/src/operationsInterfaces/directory.js.map +1 -0
- package/dist-esm/storage-file-share/src/generated/src/operationsInterfaces/file.js +9 -0
- package/dist-esm/storage-file-share/src/generated/src/operationsInterfaces/file.js.map +1 -0
- package/dist-esm/storage-file-share/src/generated/src/operationsInterfaces/index.js +12 -0
- package/dist-esm/storage-file-share/src/generated/src/operationsInterfaces/index.js.map +1 -0
- package/dist-esm/storage-file-share/src/generated/src/operationsInterfaces/service.js +9 -0
- package/dist-esm/storage-file-share/src/generated/src/operationsInterfaces/service.js.map +1 -0
- package/dist-esm/storage-file-share/src/generated/src/operationsInterfaces/share.js +9 -0
- package/dist-esm/storage-file-share/src/generated/src/operationsInterfaces/share.js.map +1 -0
- package/dist-esm/storage-file-share/src/generated/src/storageClient.js +48 -0
- package/dist-esm/storage-file-share/src/generated/src/storageClient.js.map +1 -0
- package/dist-esm/storage-file-share/src/generatedModels.js +4 -0
- package/dist-esm/storage-file-share/src/generatedModels.js.map +1 -0
- package/dist-esm/storage-file-share/src/index.browser.js +18 -0
- package/dist-esm/storage-file-share/src/index.browser.js.map +1 -0
- package/dist-esm/storage-file-share/src/index.js +28 -0
- package/dist-esm/storage-file-share/src/index.js.map +1 -0
- package/dist-esm/storage-file-share/src/log.js.map +1 -0
- package/dist-esm/storage-file-share/src/models.js.map +1 -0
- package/dist-esm/storage-file-share/src/utils/Batch.js +122 -0
- package/dist-esm/storage-file-share/src/utils/Batch.js.map +1 -0
- package/dist-esm/storage-file-share/src/utils/BufferScheduler.js.map +1 -0
- package/dist-esm/{src → storage-file-share/src}/utils/RetriableReadableStream.js +51 -48
- package/dist-esm/storage-file-share/src/utils/RetriableReadableStream.js.map +1 -0
- package/dist-esm/{src → storage-file-share/src}/utils/constants.js +2 -6
- package/dist-esm/storage-file-share/src/utils/constants.js.map +1 -0
- package/dist-esm/storage-file-share/src/utils/tracing.js +14 -0
- package/dist-esm/storage-file-share/src/utils/tracing.js.map +1 -0
- package/dist-esm/storage-file-share/src/utils/utils.browser.js.map +1 -0
- package/dist-esm/{src → storage-file-share/src}/utils/utils.common.js +82 -95
- package/dist-esm/storage-file-share/src/utils/utils.common.js.map +1 -0
- package/dist-esm/storage-file-share/src/utils/utils.node.js.map +1 -0
- package/package.json +31 -25
- package/types/3.1/storage-file-share.d.ts +1454 -532
- package/types/latest/storage-file-share.d.ts +1571 -544
- package/dist-esm/src/AccountSASPermissions.js.map +0 -1
- package/dist-esm/src/AccountSASResourceTypes.js.map +0 -1
- package/dist-esm/src/AccountSASServices.js.map +0 -1
- package/dist-esm/src/AccountSASSignatureValues.js.map +0 -1
- package/dist-esm/src/Clients.js.map +0 -1
- package/dist-esm/src/FileDownloadResponse.browser.js.map +0 -1
- package/dist-esm/src/FileDownloadResponse.js.map +0 -1
- package/dist-esm/src/FileSASPermissions.js.map +0 -1
- package/dist-esm/src/FileSASSignatureValues.js.map +0 -1
- package/dist-esm/src/FileSystemAttributes.js.map +0 -1
- package/dist-esm/src/Pipeline.js +0 -88
- package/dist-esm/src/Pipeline.js.map +0 -1
- package/dist-esm/src/Range.js.map +0 -1
- package/dist-esm/src/SASQueryParameters.js.map +0 -1
- package/dist-esm/src/SasIPRange.js.map +0 -1
- package/dist-esm/src/ShareClientInternal.js.map +0 -1
- package/dist-esm/src/ShareSASPermissions.js.map +0 -1
- package/dist-esm/src/ShareServiceClient.js.map +0 -1
- package/dist-esm/src/StorageBrowserPolicyFactory.js.map +0 -1
- package/dist-esm/src/StorageClient.js.map +0 -1
- package/dist-esm/src/StorageRetryPolicyFactory.js.map +0 -1
- package/dist-esm/src/TelemetryPolicyFactory.js +0 -50
- package/dist-esm/src/TelemetryPolicyFactory.js.map +0 -1
- package/dist-esm/src/credentials/AnonymousCredential.js.map +0 -1
- package/dist-esm/src/credentials/Credential.js.map +0 -1
- package/dist-esm/src/credentials/StorageSharedKeyCredential.browser.js.map +0 -1
- package/dist-esm/src/credentials/StorageSharedKeyCredential.js.map +0 -1
- package/dist-esm/src/generated/src/index.js.map +0 -1
- package/dist-esm/src/generated/src/models/index.js.map +0 -1
- package/dist-esm/src/generated/src/models/mappers.js.map +0 -1
- package/dist-esm/src/generated/src/models/parameters.js.map +0 -1
- package/dist-esm/src/generated/src/operations/directory.js.map +0 -1
- package/dist-esm/src/generated/src/operations/file.js.map +0 -1
- package/dist-esm/src/generated/src/operations/index.js.map +0 -1
- package/dist-esm/src/generated/src/operations/service.js.map +0 -1
- package/dist-esm/src/generated/src/operations/share.js.map +0 -1
- package/dist-esm/src/generated/src/storageClient.js +0 -25
- package/dist-esm/src/generated/src/storageClient.js.map +0 -1
- package/dist-esm/src/generated/src/storageClientContext.js +0 -40
- package/dist-esm/src/generated/src/storageClientContext.js.map +0 -1
- package/dist-esm/src/generatedModels.js +0 -8
- package/dist-esm/src/generatedModels.js.map +0 -1
- package/dist-esm/src/index.browser.js +0 -17
- package/dist-esm/src/index.browser.js.map +0 -1
- package/dist-esm/src/index.js +0 -27
- package/dist-esm/src/index.js.map +0 -1
- package/dist-esm/src/log.js.map +0 -1
- package/dist-esm/src/models.js.map +0 -1
- package/dist-esm/src/policies/AnonymousCredentialPolicy.js.map +0 -1
- package/dist-esm/src/policies/CredentialPolicy.js.map +0 -1
- package/dist-esm/src/policies/StorageRetryPolicy.js.map +0 -1
- package/dist-esm/src/policies/StorageSharedKeyCredentialPolicy.js.map +0 -1
- package/dist-esm/src/policies/TelemetryPolicy.js +0 -36
- package/dist-esm/src/policies/TelemetryPolicy.js.map +0 -1
- package/dist-esm/src/utils/Batch.js.map +0 -1
- package/dist-esm/src/utils/BufferScheduler.js.map +0 -1
- package/dist-esm/src/utils/RetriableReadableStream.js.map +0 -1
- package/dist-esm/src/utils/cache.js +0 -8
- package/dist-esm/src/utils/cache.js.map +0 -1
- package/dist-esm/src/utils/constants.js.map +0 -1
- package/dist-esm/src/utils/tracing.js +0 -27
- package/dist-esm/src/utils/tracing.js.map +0 -1
- package/dist-esm/src/utils/utils.browser.js.map +0 -1
- package/dist-esm/src/utils/utils.common.js.map +0 -1
- package/dist-esm/src/utils/utils.node.js.map +0 -1
- /package/dist-esm/{src → storage-blob/src}/credentials/Credential.js +0 -0
- /package/dist-esm/{src → storage-blob/src}/credentials/StorageSharedKeyCredential.browser.js +0 -0
- /package/dist-esm/{src → storage-blob/src}/policies/AnonymousCredentialPolicy.js +0 -0
- /package/dist-esm/{src → storage-blob/src}/policies/StorageSharedKeyCredentialPolicy.js +0 -0
- /package/dist-esm/{src → storage-blob/src/sas}/AccountSASResourceTypes.js +0 -0
- /package/dist-esm/{src → storage-blob/src/sas}/AccountSASServices.js +0 -0
- /package/dist-esm/{src → storage-blob/src}/utils/Batch.js +0 -0
- /package/dist-esm/{src → storage-file-share/src}/AccountSASPermissions.js +0 -0
- /package/dist-esm/{src → storage-file-share/src}/AccountSASSignatureValues.js +0 -0
- /package/dist-esm/{src → storage-file-share/src}/FileDownloadResponse.browser.js +0 -0
- /package/dist-esm/{src → storage-file-share/src}/FileSASPermissions.js +0 -0
- /package/dist-esm/{src → storage-file-share/src}/FileSASSignatureValues.js +0 -0
- /package/dist-esm/{src → storage-file-share/src}/FileSystemAttributes.js +0 -0
- /package/dist-esm/{src → storage-file-share/src}/Range.js +0 -0
- /package/dist-esm/{src → storage-file-share/src}/SasIPRange.js +0 -0
- /package/dist-esm/{src → storage-file-share/src}/ShareSASPermissions.js +0 -0
- /package/dist-esm/{src → storage-file-share/src}/generated/src/operations/index.js +0 -0
- /package/dist-esm/{src → storage-file-share/src}/log.js +0 -0
- /package/dist-esm/{src → storage-file-share/src}/models.js +0 -0
- /package/dist-esm/{src → storage-file-share/src}/utils/BufferScheduler.js +0 -0
- /package/dist-esm/{src → storage-file-share/src}/utils/utils.browser.js +0 -0
- /package/dist-esm/{src → storage-file-share/src}/utils/utils.node.js +0 -0
@@ -0,0 +1,555 @@
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
2
|
+
// Licensed under the MIT license.
|
3
|
+
import { BlobSASPermissions } from "./BlobSASPermissions";
|
4
|
+
import { ContainerSASPermissions } from "./ContainerSASPermissions";
|
5
|
+
import { StorageSharedKeyCredential } from "../credentials/StorageSharedKeyCredential";
|
6
|
+
import { UserDelegationKeyCredential } from "../credentials/UserDelegationKeyCredential";
|
7
|
+
import { ipRangeToString } from "./SasIPRange";
|
8
|
+
import { SASQueryParameters } from "./SASQueryParameters";
|
9
|
+
import { SERVICE_VERSION } from "../utils/constants";
|
10
|
+
import { truncatedISO8061Date } from "../utils/utils.common";
|
11
|
+
export function generateBlobSASQueryParameters(blobSASSignatureValues, sharedKeyCredentialOrUserDelegationKey, accountName) {
|
12
|
+
const version = blobSASSignatureValues.version ? blobSASSignatureValues.version : SERVICE_VERSION;
|
13
|
+
const sharedKeyCredential = sharedKeyCredentialOrUserDelegationKey instanceof StorageSharedKeyCredential
|
14
|
+
? sharedKeyCredentialOrUserDelegationKey
|
15
|
+
: undefined;
|
16
|
+
let userDelegationKeyCredential;
|
17
|
+
if (sharedKeyCredential === undefined && accountName !== undefined) {
|
18
|
+
userDelegationKeyCredential = new UserDelegationKeyCredential(accountName, sharedKeyCredentialOrUserDelegationKey);
|
19
|
+
}
|
20
|
+
if (sharedKeyCredential === undefined && userDelegationKeyCredential === undefined) {
|
21
|
+
throw TypeError("Invalid sharedKeyCredential, userDelegationKey or accountName.");
|
22
|
+
}
|
23
|
+
// Version 2020-12-06 adds support for encryptionscope in SAS.
|
24
|
+
if (version >= "2020-12-06") {
|
25
|
+
if (sharedKeyCredential !== undefined) {
|
26
|
+
return generateBlobSASQueryParameters20201206(blobSASSignatureValues, sharedKeyCredential);
|
27
|
+
}
|
28
|
+
else {
|
29
|
+
return generateBlobSASQueryParametersUDK20201206(blobSASSignatureValues, userDelegationKeyCredential);
|
30
|
+
}
|
31
|
+
}
|
32
|
+
// Version 2019-12-12 adds support for the blob tags permission.
|
33
|
+
// Version 2018-11-09 adds support for the signed resource and signed blob snapshot time fields.
|
34
|
+
// https://docs.microsoft.com/en-us/rest/api/storageservices/constructing-a-service-sas#constructing-the-signature-string
|
35
|
+
if (version >= "2018-11-09") {
|
36
|
+
if (sharedKeyCredential !== undefined) {
|
37
|
+
return generateBlobSASQueryParameters20181109(blobSASSignatureValues, sharedKeyCredential);
|
38
|
+
}
|
39
|
+
else {
|
40
|
+
// Version 2020-02-10 delegation SAS signature construction includes preauthorizedAgentObjectId, agentObjectId, correlationId.
|
41
|
+
if (version >= "2020-02-10") {
|
42
|
+
return generateBlobSASQueryParametersUDK20200210(blobSASSignatureValues, userDelegationKeyCredential);
|
43
|
+
}
|
44
|
+
else {
|
45
|
+
return generateBlobSASQueryParametersUDK20181109(blobSASSignatureValues, userDelegationKeyCredential);
|
46
|
+
}
|
47
|
+
}
|
48
|
+
}
|
49
|
+
if (version >= "2015-04-05") {
|
50
|
+
if (sharedKeyCredential !== undefined) {
|
51
|
+
return generateBlobSASQueryParameters20150405(blobSASSignatureValues, sharedKeyCredential);
|
52
|
+
}
|
53
|
+
else {
|
54
|
+
throw new RangeError("'version' must be >= '2018-11-09' when generating user delegation SAS using user delegation key.");
|
55
|
+
}
|
56
|
+
}
|
57
|
+
throw new RangeError("'version' must be >= '2015-04-05'.");
|
58
|
+
}
|
59
|
+
/**
|
60
|
+
* ONLY AVAILABLE IN NODE.JS RUNTIME.
|
61
|
+
* IMPLEMENTATION FOR API VERSION FROM 2015-04-05 AND BEFORE 2018-11-09.
|
62
|
+
*
|
63
|
+
* Creates an instance of SASQueryParameters.
|
64
|
+
*
|
65
|
+
* Only accepts required settings needed to create a SAS. For optional settings please
|
66
|
+
* set corresponding properties directly, such as permissions, startsOn and identifier.
|
67
|
+
*
|
68
|
+
* WARNING: When identifier is not provided, permissions and expiresOn are required.
|
69
|
+
* You MUST assign value to identifier or expiresOn & permissions manually if you initial with
|
70
|
+
* this constructor.
|
71
|
+
*
|
72
|
+
* @param blobSASSignatureValues -
|
73
|
+
* @param sharedKeyCredential -
|
74
|
+
*/
|
75
|
+
function generateBlobSASQueryParameters20150405(blobSASSignatureValues, sharedKeyCredential) {
|
76
|
+
blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
|
77
|
+
if (!blobSASSignatureValues.identifier &&
|
78
|
+
!(blobSASSignatureValues.permissions && blobSASSignatureValues.expiresOn)) {
|
79
|
+
throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided.");
|
80
|
+
}
|
81
|
+
let resource = "c";
|
82
|
+
if (blobSASSignatureValues.blobName) {
|
83
|
+
resource = "b";
|
84
|
+
}
|
85
|
+
// Calling parse and toString guarantees the proper ordering and throws on invalid characters.
|
86
|
+
let verifiedPermissions;
|
87
|
+
if (blobSASSignatureValues.permissions) {
|
88
|
+
if (blobSASSignatureValues.blobName) {
|
89
|
+
verifiedPermissions = BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
|
90
|
+
}
|
91
|
+
else {
|
92
|
+
verifiedPermissions = ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
|
93
|
+
}
|
94
|
+
}
|
95
|
+
// Signature is generated on the un-url-encoded values.
|
96
|
+
const stringToSign = [
|
97
|
+
verifiedPermissions ? verifiedPermissions : "",
|
98
|
+
blobSASSignatureValues.startsOn
|
99
|
+
? truncatedISO8061Date(blobSASSignatureValues.startsOn, false)
|
100
|
+
: "",
|
101
|
+
blobSASSignatureValues.expiresOn
|
102
|
+
? truncatedISO8061Date(blobSASSignatureValues.expiresOn, false)
|
103
|
+
: "",
|
104
|
+
getCanonicalName(sharedKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
|
105
|
+
blobSASSignatureValues.identifier,
|
106
|
+
blobSASSignatureValues.ipRange ? ipRangeToString(blobSASSignatureValues.ipRange) : "",
|
107
|
+
blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
|
108
|
+
blobSASSignatureValues.version,
|
109
|
+
blobSASSignatureValues.cacheControl ? blobSASSignatureValues.cacheControl : "",
|
110
|
+
blobSASSignatureValues.contentDisposition ? blobSASSignatureValues.contentDisposition : "",
|
111
|
+
blobSASSignatureValues.contentEncoding ? blobSASSignatureValues.contentEncoding : "",
|
112
|
+
blobSASSignatureValues.contentLanguage ? blobSASSignatureValues.contentLanguage : "",
|
113
|
+
blobSASSignatureValues.contentType ? blobSASSignatureValues.contentType : "",
|
114
|
+
].join("\n");
|
115
|
+
const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);
|
116
|
+
return new SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, undefined, undefined, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType);
|
117
|
+
}
|
118
|
+
/**
|
119
|
+
* ONLY AVAILABLE IN NODE.JS RUNTIME.
|
120
|
+
* IMPLEMENTATION FOR API VERSION FROM 2018-11-09.
|
121
|
+
*
|
122
|
+
* Creates an instance of SASQueryParameters.
|
123
|
+
*
|
124
|
+
* Only accepts required settings needed to create a SAS. For optional settings please
|
125
|
+
* set corresponding properties directly, such as permissions, startsOn and identifier.
|
126
|
+
*
|
127
|
+
* WARNING: When identifier is not provided, permissions and expiresOn are required.
|
128
|
+
* You MUST assign value to identifier or expiresOn & permissions manually if you initial with
|
129
|
+
* this constructor.
|
130
|
+
*
|
131
|
+
* @param blobSASSignatureValues -
|
132
|
+
* @param sharedKeyCredential -
|
133
|
+
*/
|
134
|
+
function generateBlobSASQueryParameters20181109(blobSASSignatureValues, sharedKeyCredential) {
|
135
|
+
blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
|
136
|
+
if (!blobSASSignatureValues.identifier &&
|
137
|
+
!(blobSASSignatureValues.permissions && blobSASSignatureValues.expiresOn)) {
|
138
|
+
throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided.");
|
139
|
+
}
|
140
|
+
let resource = "c";
|
141
|
+
let timestamp = blobSASSignatureValues.snapshotTime;
|
142
|
+
if (blobSASSignatureValues.blobName) {
|
143
|
+
resource = "b";
|
144
|
+
if (blobSASSignatureValues.snapshotTime) {
|
145
|
+
resource = "bs";
|
146
|
+
}
|
147
|
+
else if (blobSASSignatureValues.versionId) {
|
148
|
+
resource = "bv";
|
149
|
+
timestamp = blobSASSignatureValues.versionId;
|
150
|
+
}
|
151
|
+
}
|
152
|
+
// Calling parse and toString guarantees the proper ordering and throws on invalid characters.
|
153
|
+
let verifiedPermissions;
|
154
|
+
if (blobSASSignatureValues.permissions) {
|
155
|
+
if (blobSASSignatureValues.blobName) {
|
156
|
+
verifiedPermissions = BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
|
157
|
+
}
|
158
|
+
else {
|
159
|
+
verifiedPermissions = ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
|
160
|
+
}
|
161
|
+
}
|
162
|
+
// Signature is generated on the un-url-encoded values.
|
163
|
+
const stringToSign = [
|
164
|
+
verifiedPermissions ? verifiedPermissions : "",
|
165
|
+
blobSASSignatureValues.startsOn
|
166
|
+
? truncatedISO8061Date(blobSASSignatureValues.startsOn, false)
|
167
|
+
: "",
|
168
|
+
blobSASSignatureValues.expiresOn
|
169
|
+
? truncatedISO8061Date(blobSASSignatureValues.expiresOn, false)
|
170
|
+
: "",
|
171
|
+
getCanonicalName(sharedKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
|
172
|
+
blobSASSignatureValues.identifier,
|
173
|
+
blobSASSignatureValues.ipRange ? ipRangeToString(blobSASSignatureValues.ipRange) : "",
|
174
|
+
blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
|
175
|
+
blobSASSignatureValues.version,
|
176
|
+
resource,
|
177
|
+
timestamp,
|
178
|
+
blobSASSignatureValues.cacheControl ? blobSASSignatureValues.cacheControl : "",
|
179
|
+
blobSASSignatureValues.contentDisposition ? blobSASSignatureValues.contentDisposition : "",
|
180
|
+
blobSASSignatureValues.contentEncoding ? blobSASSignatureValues.contentEncoding : "",
|
181
|
+
blobSASSignatureValues.contentLanguage ? blobSASSignatureValues.contentLanguage : "",
|
182
|
+
blobSASSignatureValues.contentType ? blobSASSignatureValues.contentType : "",
|
183
|
+
].join("\n");
|
184
|
+
const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);
|
185
|
+
return new SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, undefined, undefined, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType);
|
186
|
+
}
|
187
|
+
/**
|
188
|
+
* ONLY AVAILABLE IN NODE.JS RUNTIME.
|
189
|
+
* IMPLEMENTATION FOR API VERSION FROM 2020-12-06.
|
190
|
+
*
|
191
|
+
* Creates an instance of SASQueryParameters.
|
192
|
+
*
|
193
|
+
* Only accepts required settings needed to create a SAS. For optional settings please
|
194
|
+
* set corresponding properties directly, such as permissions, startsOn and identifier.
|
195
|
+
*
|
196
|
+
* WARNING: When identifier is not provided, permissions and expiresOn are required.
|
197
|
+
* You MUST assign value to identifier or expiresOn & permissions manually if you initial with
|
198
|
+
* this constructor.
|
199
|
+
*
|
200
|
+
* @param blobSASSignatureValues -
|
201
|
+
* @param sharedKeyCredential -
|
202
|
+
*/
|
203
|
+
function generateBlobSASQueryParameters20201206(blobSASSignatureValues, sharedKeyCredential) {
|
204
|
+
blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
|
205
|
+
if (!blobSASSignatureValues.identifier &&
|
206
|
+
!(blobSASSignatureValues.permissions && blobSASSignatureValues.expiresOn)) {
|
207
|
+
throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided.");
|
208
|
+
}
|
209
|
+
let resource = "c";
|
210
|
+
let timestamp = blobSASSignatureValues.snapshotTime;
|
211
|
+
if (blobSASSignatureValues.blobName) {
|
212
|
+
resource = "b";
|
213
|
+
if (blobSASSignatureValues.snapshotTime) {
|
214
|
+
resource = "bs";
|
215
|
+
}
|
216
|
+
else if (blobSASSignatureValues.versionId) {
|
217
|
+
resource = "bv";
|
218
|
+
timestamp = blobSASSignatureValues.versionId;
|
219
|
+
}
|
220
|
+
}
|
221
|
+
// Calling parse and toString guarantees the proper ordering and throws on invalid characters.
|
222
|
+
let verifiedPermissions;
|
223
|
+
if (blobSASSignatureValues.permissions) {
|
224
|
+
if (blobSASSignatureValues.blobName) {
|
225
|
+
verifiedPermissions = BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
|
226
|
+
}
|
227
|
+
else {
|
228
|
+
verifiedPermissions = ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
|
229
|
+
}
|
230
|
+
}
|
231
|
+
// Signature is generated on the un-url-encoded values.
|
232
|
+
const stringToSign = [
|
233
|
+
verifiedPermissions ? verifiedPermissions : "",
|
234
|
+
blobSASSignatureValues.startsOn
|
235
|
+
? truncatedISO8061Date(blobSASSignatureValues.startsOn, false)
|
236
|
+
: "",
|
237
|
+
blobSASSignatureValues.expiresOn
|
238
|
+
? truncatedISO8061Date(blobSASSignatureValues.expiresOn, false)
|
239
|
+
: "",
|
240
|
+
getCanonicalName(sharedKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
|
241
|
+
blobSASSignatureValues.identifier,
|
242
|
+
blobSASSignatureValues.ipRange ? ipRangeToString(blobSASSignatureValues.ipRange) : "",
|
243
|
+
blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
|
244
|
+
blobSASSignatureValues.version,
|
245
|
+
resource,
|
246
|
+
timestamp,
|
247
|
+
blobSASSignatureValues.encryptionScope,
|
248
|
+
blobSASSignatureValues.cacheControl ? blobSASSignatureValues.cacheControl : "",
|
249
|
+
blobSASSignatureValues.contentDisposition ? blobSASSignatureValues.contentDisposition : "",
|
250
|
+
blobSASSignatureValues.contentEncoding ? blobSASSignatureValues.contentEncoding : "",
|
251
|
+
blobSASSignatureValues.contentLanguage ? blobSASSignatureValues.contentLanguage : "",
|
252
|
+
blobSASSignatureValues.contentType ? blobSASSignatureValues.contentType : "",
|
253
|
+
].join("\n");
|
254
|
+
const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);
|
255
|
+
return new SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, undefined, undefined, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, undefined, undefined, undefined, blobSASSignatureValues.encryptionScope);
|
256
|
+
}
|
257
|
+
/**
|
258
|
+
* ONLY AVAILABLE IN NODE.JS RUNTIME.
|
259
|
+
* IMPLEMENTATION FOR API VERSION FROM 2018-11-09.
|
260
|
+
*
|
261
|
+
* Creates an instance of SASQueryParameters.
|
262
|
+
*
|
263
|
+
* Only accepts required settings needed to create a SAS. For optional settings please
|
264
|
+
* set corresponding properties directly, such as permissions, startsOn.
|
265
|
+
*
|
266
|
+
* WARNING: identifier will be ignored, permissions and expiresOn are required.
|
267
|
+
*
|
268
|
+
* @param blobSASSignatureValues -
|
269
|
+
* @param userDelegationKeyCredential -
|
270
|
+
*/
|
271
|
+
function generateBlobSASQueryParametersUDK20181109(blobSASSignatureValues, userDelegationKeyCredential) {
|
272
|
+
blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
|
273
|
+
// Stored access policies are not supported for a user delegation SAS.
|
274
|
+
if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) {
|
275
|
+
throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");
|
276
|
+
}
|
277
|
+
let resource = "c";
|
278
|
+
let timestamp = blobSASSignatureValues.snapshotTime;
|
279
|
+
if (blobSASSignatureValues.blobName) {
|
280
|
+
resource = "b";
|
281
|
+
if (blobSASSignatureValues.snapshotTime) {
|
282
|
+
resource = "bs";
|
283
|
+
}
|
284
|
+
else if (blobSASSignatureValues.versionId) {
|
285
|
+
resource = "bv";
|
286
|
+
timestamp = blobSASSignatureValues.versionId;
|
287
|
+
}
|
288
|
+
}
|
289
|
+
// Calling parse and toString guarantees the proper ordering and throws on invalid characters.
|
290
|
+
let verifiedPermissions;
|
291
|
+
if (blobSASSignatureValues.permissions) {
|
292
|
+
if (blobSASSignatureValues.blobName) {
|
293
|
+
verifiedPermissions = BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
|
294
|
+
}
|
295
|
+
else {
|
296
|
+
verifiedPermissions = ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
|
297
|
+
}
|
298
|
+
}
|
299
|
+
// Signature is generated on the un-url-encoded values.
|
300
|
+
const stringToSign = [
|
301
|
+
verifiedPermissions ? verifiedPermissions : "",
|
302
|
+
blobSASSignatureValues.startsOn
|
303
|
+
? truncatedISO8061Date(blobSASSignatureValues.startsOn, false)
|
304
|
+
: "",
|
305
|
+
blobSASSignatureValues.expiresOn
|
306
|
+
? truncatedISO8061Date(blobSASSignatureValues.expiresOn, false)
|
307
|
+
: "",
|
308
|
+
getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
|
309
|
+
userDelegationKeyCredential.userDelegationKey.signedObjectId,
|
310
|
+
userDelegationKeyCredential.userDelegationKey.signedTenantId,
|
311
|
+
userDelegationKeyCredential.userDelegationKey.signedStartsOn
|
312
|
+
? truncatedISO8061Date(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false)
|
313
|
+
: "",
|
314
|
+
userDelegationKeyCredential.userDelegationKey.signedExpiresOn
|
315
|
+
? truncatedISO8061Date(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false)
|
316
|
+
: "",
|
317
|
+
userDelegationKeyCredential.userDelegationKey.signedService,
|
318
|
+
userDelegationKeyCredential.userDelegationKey.signedVersion,
|
319
|
+
blobSASSignatureValues.ipRange ? ipRangeToString(blobSASSignatureValues.ipRange) : "",
|
320
|
+
blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
|
321
|
+
blobSASSignatureValues.version,
|
322
|
+
resource,
|
323
|
+
timestamp,
|
324
|
+
blobSASSignatureValues.cacheControl,
|
325
|
+
blobSASSignatureValues.contentDisposition,
|
326
|
+
blobSASSignatureValues.contentEncoding,
|
327
|
+
blobSASSignatureValues.contentLanguage,
|
328
|
+
blobSASSignatureValues.contentType,
|
329
|
+
].join("\n");
|
330
|
+
const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);
|
331
|
+
return new SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, undefined, undefined, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey);
|
332
|
+
}
|
333
|
+
/**
|
334
|
+
* ONLY AVAILABLE IN NODE.JS RUNTIME.
|
335
|
+
* IMPLEMENTATION FOR API VERSION FROM 2020-02-10.
|
336
|
+
*
|
337
|
+
* Creates an instance of SASQueryParameters.
|
338
|
+
*
|
339
|
+
* Only accepts required settings needed to create a SAS. For optional settings please
|
340
|
+
* set corresponding properties directly, such as permissions, startsOn.
|
341
|
+
*
|
342
|
+
* WARNING: identifier will be ignored, permissions and expiresOn are required.
|
343
|
+
*
|
344
|
+
* @param blobSASSignatureValues -
|
345
|
+
* @param userDelegationKeyCredential -
|
346
|
+
*/
|
347
|
+
function generateBlobSASQueryParametersUDK20200210(blobSASSignatureValues, userDelegationKeyCredential) {
|
348
|
+
blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
|
349
|
+
// Stored access policies are not supported for a user delegation SAS.
|
350
|
+
if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) {
|
351
|
+
throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");
|
352
|
+
}
|
353
|
+
let resource = "c";
|
354
|
+
let timestamp = blobSASSignatureValues.snapshotTime;
|
355
|
+
if (blobSASSignatureValues.blobName) {
|
356
|
+
resource = "b";
|
357
|
+
if (blobSASSignatureValues.snapshotTime) {
|
358
|
+
resource = "bs";
|
359
|
+
}
|
360
|
+
else if (blobSASSignatureValues.versionId) {
|
361
|
+
resource = "bv";
|
362
|
+
timestamp = blobSASSignatureValues.versionId;
|
363
|
+
}
|
364
|
+
}
|
365
|
+
// Calling parse and toString guarantees the proper ordering and throws on invalid characters.
|
366
|
+
let verifiedPermissions;
|
367
|
+
if (blobSASSignatureValues.permissions) {
|
368
|
+
if (blobSASSignatureValues.blobName) {
|
369
|
+
verifiedPermissions = BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
|
370
|
+
}
|
371
|
+
else {
|
372
|
+
verifiedPermissions = ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
|
373
|
+
}
|
374
|
+
}
|
375
|
+
// Signature is generated on the un-url-encoded values.
|
376
|
+
const stringToSign = [
|
377
|
+
verifiedPermissions ? verifiedPermissions : "",
|
378
|
+
blobSASSignatureValues.startsOn
|
379
|
+
? truncatedISO8061Date(blobSASSignatureValues.startsOn, false)
|
380
|
+
: "",
|
381
|
+
blobSASSignatureValues.expiresOn
|
382
|
+
? truncatedISO8061Date(blobSASSignatureValues.expiresOn, false)
|
383
|
+
: "",
|
384
|
+
getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
|
385
|
+
userDelegationKeyCredential.userDelegationKey.signedObjectId,
|
386
|
+
userDelegationKeyCredential.userDelegationKey.signedTenantId,
|
387
|
+
userDelegationKeyCredential.userDelegationKey.signedStartsOn
|
388
|
+
? truncatedISO8061Date(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false)
|
389
|
+
: "",
|
390
|
+
userDelegationKeyCredential.userDelegationKey.signedExpiresOn
|
391
|
+
? truncatedISO8061Date(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false)
|
392
|
+
: "",
|
393
|
+
userDelegationKeyCredential.userDelegationKey.signedService,
|
394
|
+
userDelegationKeyCredential.userDelegationKey.signedVersion,
|
395
|
+
blobSASSignatureValues.preauthorizedAgentObjectId,
|
396
|
+
undefined,
|
397
|
+
blobSASSignatureValues.correlationId,
|
398
|
+
blobSASSignatureValues.ipRange ? ipRangeToString(blobSASSignatureValues.ipRange) : "",
|
399
|
+
blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
|
400
|
+
blobSASSignatureValues.version,
|
401
|
+
resource,
|
402
|
+
timestamp,
|
403
|
+
blobSASSignatureValues.cacheControl,
|
404
|
+
blobSASSignatureValues.contentDisposition,
|
405
|
+
blobSASSignatureValues.contentEncoding,
|
406
|
+
blobSASSignatureValues.contentLanguage,
|
407
|
+
blobSASSignatureValues.contentType,
|
408
|
+
].join("\n");
|
409
|
+
const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);
|
410
|
+
return new SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, undefined, undefined, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey, blobSASSignatureValues.preauthorizedAgentObjectId, blobSASSignatureValues.correlationId);
|
411
|
+
}
|
412
|
+
/**
|
413
|
+
* ONLY AVAILABLE IN NODE.JS RUNTIME.
|
414
|
+
* IMPLEMENTATION FOR API VERSION FROM 2020-12-06.
|
415
|
+
*
|
416
|
+
* Creates an instance of SASQueryParameters.
|
417
|
+
*
|
418
|
+
* Only accepts required settings needed to create a SAS. For optional settings please
|
419
|
+
* set corresponding properties directly, such as permissions, startsOn.
|
420
|
+
*
|
421
|
+
* WARNING: identifier will be ignored, permissions and expiresOn are required.
|
422
|
+
*
|
423
|
+
* @param blobSASSignatureValues -
|
424
|
+
* @param userDelegationKeyCredential -
|
425
|
+
*/
|
426
|
+
function generateBlobSASQueryParametersUDK20201206(blobSASSignatureValues, userDelegationKeyCredential) {
|
427
|
+
blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
|
428
|
+
// Stored access policies are not supported for a user delegation SAS.
|
429
|
+
if (!blobSASSignatureValues.permissions || !blobSASSignatureValues.expiresOn) {
|
430
|
+
throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");
|
431
|
+
}
|
432
|
+
let resource = "c";
|
433
|
+
let timestamp = blobSASSignatureValues.snapshotTime;
|
434
|
+
if (blobSASSignatureValues.blobName) {
|
435
|
+
resource = "b";
|
436
|
+
if (blobSASSignatureValues.snapshotTime) {
|
437
|
+
resource = "bs";
|
438
|
+
}
|
439
|
+
else if (blobSASSignatureValues.versionId) {
|
440
|
+
resource = "bv";
|
441
|
+
timestamp = blobSASSignatureValues.versionId;
|
442
|
+
}
|
443
|
+
}
|
444
|
+
// Calling parse and toString guarantees the proper ordering and throws on invalid characters.
|
445
|
+
let verifiedPermissions;
|
446
|
+
if (blobSASSignatureValues.permissions) {
|
447
|
+
if (blobSASSignatureValues.blobName) {
|
448
|
+
verifiedPermissions = BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
|
449
|
+
}
|
450
|
+
else {
|
451
|
+
verifiedPermissions = ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
|
452
|
+
}
|
453
|
+
}
|
454
|
+
// Signature is generated on the un-url-encoded values.
|
455
|
+
const stringToSign = [
|
456
|
+
verifiedPermissions ? verifiedPermissions : "",
|
457
|
+
blobSASSignatureValues.startsOn
|
458
|
+
? truncatedISO8061Date(blobSASSignatureValues.startsOn, false)
|
459
|
+
: "",
|
460
|
+
blobSASSignatureValues.expiresOn
|
461
|
+
? truncatedISO8061Date(blobSASSignatureValues.expiresOn, false)
|
462
|
+
: "",
|
463
|
+
getCanonicalName(userDelegationKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
|
464
|
+
userDelegationKeyCredential.userDelegationKey.signedObjectId,
|
465
|
+
userDelegationKeyCredential.userDelegationKey.signedTenantId,
|
466
|
+
userDelegationKeyCredential.userDelegationKey.signedStartsOn
|
467
|
+
? truncatedISO8061Date(userDelegationKeyCredential.userDelegationKey.signedStartsOn, false)
|
468
|
+
: "",
|
469
|
+
userDelegationKeyCredential.userDelegationKey.signedExpiresOn
|
470
|
+
? truncatedISO8061Date(userDelegationKeyCredential.userDelegationKey.signedExpiresOn, false)
|
471
|
+
: "",
|
472
|
+
userDelegationKeyCredential.userDelegationKey.signedService,
|
473
|
+
userDelegationKeyCredential.userDelegationKey.signedVersion,
|
474
|
+
blobSASSignatureValues.preauthorizedAgentObjectId,
|
475
|
+
undefined,
|
476
|
+
blobSASSignatureValues.correlationId,
|
477
|
+
blobSASSignatureValues.ipRange ? ipRangeToString(blobSASSignatureValues.ipRange) : "",
|
478
|
+
blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
|
479
|
+
blobSASSignatureValues.version,
|
480
|
+
resource,
|
481
|
+
timestamp,
|
482
|
+
blobSASSignatureValues.encryptionScope,
|
483
|
+
blobSASSignatureValues.cacheControl,
|
484
|
+
blobSASSignatureValues.contentDisposition,
|
485
|
+
blobSASSignatureValues.contentEncoding,
|
486
|
+
blobSASSignatureValues.contentLanguage,
|
487
|
+
blobSASSignatureValues.contentType,
|
488
|
+
].join("\n");
|
489
|
+
const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);
|
490
|
+
return new SASQueryParameters(blobSASSignatureValues.version, signature, verifiedPermissions, undefined, undefined, blobSASSignatureValues.protocol, blobSASSignatureValues.startsOn, blobSASSignatureValues.expiresOn, blobSASSignatureValues.ipRange, blobSASSignatureValues.identifier, resource, blobSASSignatureValues.cacheControl, blobSASSignatureValues.contentDisposition, blobSASSignatureValues.contentEncoding, blobSASSignatureValues.contentLanguage, blobSASSignatureValues.contentType, userDelegationKeyCredential.userDelegationKey, blobSASSignatureValues.preauthorizedAgentObjectId, blobSASSignatureValues.correlationId, blobSASSignatureValues.encryptionScope);
|
491
|
+
}
|
492
|
+
function getCanonicalName(accountName, containerName, blobName) {
|
493
|
+
// Container: "/blob/account/containerName"
|
494
|
+
// Blob: "/blob/account/containerName/blobName"
|
495
|
+
const elements = [`/blob/${accountName}/${containerName}`];
|
496
|
+
if (blobName) {
|
497
|
+
elements.push(`/${blobName}`);
|
498
|
+
}
|
499
|
+
return elements.join("");
|
500
|
+
}
|
501
|
+
function SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues) {
|
502
|
+
const version = blobSASSignatureValues.version ? blobSASSignatureValues.version : SERVICE_VERSION;
|
503
|
+
if (blobSASSignatureValues.snapshotTime && version < "2018-11-09") {
|
504
|
+
throw RangeError("'version' must be >= '2018-11-09' when providing 'snapshotTime'.");
|
505
|
+
}
|
506
|
+
if (blobSASSignatureValues.blobName === undefined && blobSASSignatureValues.snapshotTime) {
|
507
|
+
throw RangeError("Must provide 'blobName' when providing 'snapshotTime'.");
|
508
|
+
}
|
509
|
+
if (blobSASSignatureValues.versionId && version < "2019-10-10") {
|
510
|
+
throw RangeError("'version' must be >= '2019-10-10' when providing 'versionId'.");
|
511
|
+
}
|
512
|
+
if (blobSASSignatureValues.blobName === undefined && blobSASSignatureValues.versionId) {
|
513
|
+
throw RangeError("Must provide 'blobName' when providing 'versionId'.");
|
514
|
+
}
|
515
|
+
if (blobSASSignatureValues.permissions &&
|
516
|
+
blobSASSignatureValues.permissions.setImmutabilityPolicy &&
|
517
|
+
version < "2020-08-04") {
|
518
|
+
throw RangeError("'version' must be >= '2020-08-04' when provided 'i' permission.");
|
519
|
+
}
|
520
|
+
if (blobSASSignatureValues.permissions &&
|
521
|
+
blobSASSignatureValues.permissions.deleteVersion &&
|
522
|
+
version < "2019-10-10") {
|
523
|
+
throw RangeError("'version' must be >= '2019-10-10' when providing 'x' permission.");
|
524
|
+
}
|
525
|
+
if (blobSASSignatureValues.permissions &&
|
526
|
+
blobSASSignatureValues.permissions.permanentDelete &&
|
527
|
+
version < "2019-10-10") {
|
528
|
+
throw RangeError("'version' must be >= '2019-10-10' when providing 'y' permission.");
|
529
|
+
}
|
530
|
+
if (blobSASSignatureValues.permissions &&
|
531
|
+
blobSASSignatureValues.permissions.tag &&
|
532
|
+
version < "2019-12-12") {
|
533
|
+
throw RangeError("'version' must be >= '2019-12-12' when providing 't' permission.");
|
534
|
+
}
|
535
|
+
if (version < "2020-02-10" &&
|
536
|
+
blobSASSignatureValues.permissions &&
|
537
|
+
(blobSASSignatureValues.permissions.move || blobSASSignatureValues.permissions.execute)) {
|
538
|
+
throw RangeError("'version' must be >= '2020-02-10' when providing the 'm' or 'e' permission.");
|
539
|
+
}
|
540
|
+
if (version < "2021-04-10" &&
|
541
|
+
blobSASSignatureValues.permissions &&
|
542
|
+
blobSASSignatureValues.permissions.filterByTags) {
|
543
|
+
throw RangeError("'version' must be >= '2021-04-10' when providing the 'f' permission.");
|
544
|
+
}
|
545
|
+
if (version < "2020-02-10" &&
|
546
|
+
(blobSASSignatureValues.preauthorizedAgentObjectId || blobSASSignatureValues.correlationId)) {
|
547
|
+
throw RangeError("'version' must be >= '2020-02-10' when providing 'preauthorizedAgentObjectId' or 'correlationId'.");
|
548
|
+
}
|
549
|
+
if (blobSASSignatureValues.encryptionScope && version < "2020-12-06") {
|
550
|
+
throw RangeError("'version' must be >= '2020-12-06' when provided 'encryptionScope' in SAS.");
|
551
|
+
}
|
552
|
+
blobSASSignatureValues.version = version;
|
553
|
+
return blobSASSignatureValues;
|
554
|
+
}
|
555
|
+
//# sourceMappingURL=BlobSASSignatureValues.js.map
|