@azure/storage-blob 12.32.0 → 12.33.0
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/README.md +5 -16
- package/dist/browser/Clients.d.ts +16 -32
- package/dist/browser/Clients.d.ts.map +1 -1
- package/dist/browser/Clients.js +10 -32
- package/dist/browser/Clients.js.map +1 -1
- package/dist/browser/generated/src/models/index.d.ts +6 -2
- package/dist/browser/generated/src/models/index.d.ts.map +1 -1
- package/dist/browser/generated/src/models/index.js.map +1 -1
- package/dist/browser/generated/src/models/mappers.d.ts.map +1 -1
- package/dist/browser/generated/src/models/mappers.js +34 -0
- package/dist/browser/generated/src/models/mappers.js.map +1 -1
- package/dist/browser/generated/src/models/parameters.d.ts.map +1 -1
- package/dist/browser/generated/src/models/parameters.js +3 -1
- package/dist/browser/generated/src/models/parameters.js.map +1 -1
- package/dist/browser/generated/src/storageClient.js +2 -2
- package/dist/browser/generated/src/storageClient.js.map +1 -1
- package/dist/browser/index.d.ts +1 -0
- package/dist/browser/index.d.ts.map +1 -1
- package/dist/browser/index.js +1 -0
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/sas/BlobSASSignatureValues.d.ts +5 -0
- package/dist/browser/sas/BlobSASSignatureValues.d.ts.map +1 -1
- package/dist/browser/sas/BlobSASSignatureValues.js +166 -36
- package/dist/browser/sas/BlobSASSignatureValues.js.map +1 -1
- package/dist/browser/sas/SASQueryParameters.d.ts +10 -1
- package/dist/browser/sas/SASQueryParameters.d.ts.map +1 -1
- package/dist/browser/sas/SASQueryParameters.js +11 -1
- package/dist/browser/sas/SASQueryParameters.js.map +1 -1
- package/dist/browser/utils/constants.js +2 -2
- package/dist/browser/utils/constants.js.map +1 -1
- package/dist/browser/utils/utils.common.d.ts.map +1 -1
- package/dist/browser/utils/utils.common.js +15 -0
- package/dist/browser/utils/utils.common.js.map +1 -1
- package/dist/commonjs/Clients.d.ts +16 -32
- package/dist/commonjs/Clients.d.ts.map +1 -1
- package/dist/commonjs/Clients.js +10 -32
- package/dist/commonjs/Clients.js.map +2 -2
- package/dist/commonjs/generated/src/models/index.d.ts +6 -2
- package/dist/commonjs/generated/src/models/index.d.ts.map +1 -1
- package/dist/commonjs/generated/src/models/index.js.map +2 -2
- package/dist/commonjs/generated/src/models/mappers.d.ts.map +1 -1
- package/dist/commonjs/generated/src/models/mappers.js +36 -2
- package/dist/commonjs/generated/src/models/mappers.js.map +2 -2
- package/dist/commonjs/generated/src/models/parameters.d.ts.map +1 -1
- package/dist/commonjs/generated/src/models/parameters.js +5 -3
- package/dist/commonjs/generated/src/models/parameters.js.map +2 -2
- package/dist/commonjs/generated/src/storageClient.js +2 -2
- package/dist/commonjs/generated/src/storageClient.js.map +1 -1
- package/dist/commonjs/sas/BlobSASSignatureValues.d.ts +5 -0
- package/dist/commonjs/sas/BlobSASSignatureValues.d.ts.map +1 -1
- package/dist/commonjs/sas/BlobSASSignatureValues.js +185 -36
- package/dist/commonjs/sas/BlobSASSignatureValues.js.map +2 -2
- package/dist/commonjs/sas/SASQueryParameters.d.ts +10 -1
- package/dist/commonjs/sas/SASQueryParameters.d.ts.map +1 -1
- package/dist/commonjs/sas/SASQueryParameters.js +15 -1
- package/dist/commonjs/sas/SASQueryParameters.js.map +2 -2
- package/dist/commonjs/tsdoc-metadata.json +1 -1
- package/dist/commonjs/utils/constants.js +2 -2
- package/dist/commonjs/utils/constants.js.map +1 -1
- package/dist/commonjs/utils/utils.common.d.ts.map +1 -1
- package/dist/commonjs/utils/utils.common.js +14 -0
- package/dist/commonjs/utils/utils.common.js.map +2 -2
- package/dist/esm/Clients.d.ts +16 -32
- package/dist/esm/Clients.d.ts.map +1 -1
- package/dist/esm/Clients.js +10 -32
- package/dist/esm/Clients.js.map +1 -1
- package/dist/esm/generated/src/models/index.d.ts +6 -2
- package/dist/esm/generated/src/models/index.d.ts.map +1 -1
- package/dist/esm/generated/src/models/index.js.map +1 -1
- package/dist/esm/generated/src/models/mappers.d.ts.map +1 -1
- package/dist/esm/generated/src/models/mappers.js +34 -0
- package/dist/esm/generated/src/models/mappers.js.map +1 -1
- package/dist/esm/generated/src/models/parameters.d.ts.map +1 -1
- package/dist/esm/generated/src/models/parameters.js +3 -1
- package/dist/esm/generated/src/models/parameters.js.map +1 -1
- package/dist/esm/generated/src/storageClient.js +2 -2
- package/dist/esm/generated/src/storageClient.js.map +1 -1
- package/dist/esm/sas/BlobSASSignatureValues.d.ts +5 -0
- package/dist/esm/sas/BlobSASSignatureValues.d.ts.map +1 -1
- package/dist/esm/sas/BlobSASSignatureValues.js +166 -36
- package/dist/esm/sas/BlobSASSignatureValues.js.map +1 -1
- package/dist/esm/sas/SASQueryParameters.d.ts +10 -1
- package/dist/esm/sas/SASQueryParameters.d.ts.map +1 -1
- package/dist/esm/sas/SASQueryParameters.js +11 -1
- package/dist/esm/sas/SASQueryParameters.js.map +1 -1
- package/dist/esm/utils/constants.js +2 -2
- package/dist/esm/utils/constants.js.map +1 -1
- package/dist/esm/utils/utils.common.d.ts.map +1 -1
- package/dist/esm/utils/utils.common.js +15 -0
- package/dist/esm/utils/utils.common.js.map +1 -1
- package/dist/react-native/Clients.d.ts +16 -32
- package/dist/react-native/Clients.d.ts.map +1 -1
- package/dist/react-native/Clients.js +10 -32
- package/dist/react-native/Clients.js.map +1 -1
- package/dist/react-native/generated/src/models/index.d.ts +6 -2
- package/dist/react-native/generated/src/models/index.d.ts.map +1 -1
- package/dist/react-native/generated/src/models/index.js.map +1 -1
- package/dist/react-native/generated/src/models/mappers.d.ts.map +1 -1
- package/dist/react-native/generated/src/models/mappers.js +34 -0
- package/dist/react-native/generated/src/models/mappers.js.map +1 -1
- package/dist/react-native/generated/src/models/parameters.d.ts.map +1 -1
- package/dist/react-native/generated/src/models/parameters.js +3 -1
- package/dist/react-native/generated/src/models/parameters.js.map +1 -1
- package/dist/react-native/generated/src/storageClient.js +2 -2
- package/dist/react-native/generated/src/storageClient.js.map +1 -1
- package/dist/react-native/sas/BlobSASSignatureValues.d.ts +5 -0
- package/dist/react-native/sas/BlobSASSignatureValues.d.ts.map +1 -1
- package/dist/react-native/sas/BlobSASSignatureValues.js +166 -36
- package/dist/react-native/sas/BlobSASSignatureValues.js.map +1 -1
- package/dist/react-native/sas/SASQueryParameters.d.ts +10 -1
- package/dist/react-native/sas/SASQueryParameters.d.ts.map +1 -1
- package/dist/react-native/sas/SASQueryParameters.js +11 -1
- package/dist/react-native/sas/SASQueryParameters.js.map +1 -1
- package/dist/react-native/utils/constants.js +2 -2
- package/dist/react-native/utils/constants.js.map +1 -1
- package/dist/react-native/utils/utils.common.d.ts.map +1 -1
- package/dist/react-native/utils/utils.common.js +15 -0
- package/dist/react-native/utils/utils.common.js.map +1 -1
- package/package.json +6 -6
|
@@ -45,7 +45,13 @@ export function generateBlobSASQueryParametersInternal(blobSASSignatureValues, s
|
|
|
45
45
|
// https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas#constructing-the-signature-string
|
|
46
46
|
if (version >= "2018-11-09") {
|
|
47
47
|
if (sharedKeyCredential !== undefined) {
|
|
48
|
-
|
|
48
|
+
// Version 2020-02-10 delegation SAS signature construction supports blob name as a virtual directory.
|
|
49
|
+
if (version >= "2020-02-10") {
|
|
50
|
+
return generateBlobSASQueryParameters20200210(blobSASSignatureValues, sharedKeyCredential);
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
return generateBlobSASQueryParameters20181109(blobSASSignatureValues, sharedKeyCredential);
|
|
54
|
+
}
|
|
49
55
|
}
|
|
50
56
|
else {
|
|
51
57
|
// Version 2020-02-10 delegation SAS signature construction includes preauthorizedAgentObjectId, agentObjectId, correlationId.
|
|
@@ -201,6 +207,85 @@ function generateBlobSASQueryParameters20181109(blobSASSignatureValues, sharedKe
|
|
|
201
207
|
stringToSign: stringToSign,
|
|
202
208
|
};
|
|
203
209
|
}
|
|
210
|
+
/**
|
|
211
|
+
* ONLY AVAILABLE IN NODE.JS RUNTIME.
|
|
212
|
+
* IMPLEMENTATION FOR API VERSION FROM 2020-02-10.
|
|
213
|
+
*
|
|
214
|
+
* Creates an instance of SASQueryParameters.
|
|
215
|
+
*
|
|
216
|
+
* Only accepts required settings needed to create a SAS. For optional settings please
|
|
217
|
+
* set corresponding properties directly, such as permissions, startsOn and identifier.
|
|
218
|
+
*
|
|
219
|
+
* WARNING: When identifier is not provided, permissions and expiresOn are required.
|
|
220
|
+
* You MUST assign value to identifier or expiresOn & permissions manually if you initial with
|
|
221
|
+
* this constructor.
|
|
222
|
+
*
|
|
223
|
+
* @param blobSASSignatureValues -
|
|
224
|
+
* @param sharedKeyCredential -
|
|
225
|
+
*/
|
|
226
|
+
function generateBlobSASQueryParameters20200210(blobSASSignatureValues, sharedKeyCredential) {
|
|
227
|
+
blobSASSignatureValues = SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues);
|
|
228
|
+
if (!blobSASSignatureValues.identifier &&
|
|
229
|
+
!(blobSASSignatureValues.permissions && blobSASSignatureValues.expiresOn)) {
|
|
230
|
+
throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided.");
|
|
231
|
+
}
|
|
232
|
+
let resource = "c";
|
|
233
|
+
let timestamp = blobSASSignatureValues.snapshotTime;
|
|
234
|
+
let directoryDepth = undefined;
|
|
235
|
+
if (blobSASSignatureValues.blobName) {
|
|
236
|
+
if (blobSASSignatureValues.isDirectory === true) {
|
|
237
|
+
resource = "d";
|
|
238
|
+
directoryDepth = trimBlobName(blobSASSignatureValues.blobName).split("/").length;
|
|
239
|
+
}
|
|
240
|
+
else {
|
|
241
|
+
resource = "b";
|
|
242
|
+
if (blobSASSignatureValues.snapshotTime) {
|
|
243
|
+
resource = "bs";
|
|
244
|
+
}
|
|
245
|
+
else if (blobSASSignatureValues.versionId) {
|
|
246
|
+
resource = "bv";
|
|
247
|
+
timestamp = blobSASSignatureValues.versionId;
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
// Calling parse and toString guarantees the proper ordering and throws on invalid characters.
|
|
252
|
+
let verifiedPermissions;
|
|
253
|
+
if (blobSASSignatureValues.permissions) {
|
|
254
|
+
if (blobSASSignatureValues.blobName) {
|
|
255
|
+
verifiedPermissions = BlobSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
|
|
256
|
+
}
|
|
257
|
+
else {
|
|
258
|
+
verifiedPermissions = ContainerSASPermissions.parse(blobSASSignatureValues.permissions.toString()).toString();
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
// Signature is generated on the un-url-encoded values.
|
|
262
|
+
const stringToSign = [
|
|
263
|
+
verifiedPermissions ? verifiedPermissions : "",
|
|
264
|
+
blobSASSignatureValues.startsOn
|
|
265
|
+
? truncatedISO8061Date(blobSASSignatureValues.startsOn, false)
|
|
266
|
+
: "",
|
|
267
|
+
blobSASSignatureValues.expiresOn
|
|
268
|
+
? truncatedISO8061Date(blobSASSignatureValues.expiresOn, false)
|
|
269
|
+
: "",
|
|
270
|
+
getCanonicalName(sharedKeyCredential.accountName, blobSASSignatureValues.containerName, blobSASSignatureValues.blobName),
|
|
271
|
+
blobSASSignatureValues.identifier,
|
|
272
|
+
blobSASSignatureValues.ipRange ? ipRangeToString(blobSASSignatureValues.ipRange) : "",
|
|
273
|
+
blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "",
|
|
274
|
+
blobSASSignatureValues.version,
|
|
275
|
+
resource,
|
|
276
|
+
timestamp,
|
|
277
|
+
blobSASSignatureValues.cacheControl ? blobSASSignatureValues.cacheControl : "",
|
|
278
|
+
blobSASSignatureValues.contentDisposition ? blobSASSignatureValues.contentDisposition : "",
|
|
279
|
+
blobSASSignatureValues.contentEncoding ? blobSASSignatureValues.contentEncoding : "",
|
|
280
|
+
blobSASSignatureValues.contentLanguage ? blobSASSignatureValues.contentLanguage : "",
|
|
281
|
+
blobSASSignatureValues.contentType ? blobSASSignatureValues.contentType : "",
|
|
282
|
+
].join("\n");
|
|
283
|
+
const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);
|
|
284
|
+
return {
|
|
285
|
+
sasQueryParameters: 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, undefined, undefined, undefined, undefined, directoryDepth),
|
|
286
|
+
stringToSign: stringToSign,
|
|
287
|
+
};
|
|
288
|
+
}
|
|
204
289
|
/**
|
|
205
290
|
* ONLY AVAILABLE IN NODE.JS RUNTIME.
|
|
206
291
|
* IMPLEMENTATION FOR API VERSION FROM 2020-12-06.
|
|
@@ -225,14 +310,21 @@ function generateBlobSASQueryParameters20201206(blobSASSignatureValues, sharedKe
|
|
|
225
310
|
}
|
|
226
311
|
let resource = "c";
|
|
227
312
|
let timestamp = blobSASSignatureValues.snapshotTime;
|
|
313
|
+
let directoryDepth = undefined;
|
|
228
314
|
if (blobSASSignatureValues.blobName) {
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
315
|
+
if (blobSASSignatureValues.isDirectory === true) {
|
|
316
|
+
resource = "d";
|
|
317
|
+
directoryDepth = trimBlobName(blobSASSignatureValues.blobName).split("/").length;
|
|
232
318
|
}
|
|
233
|
-
else
|
|
234
|
-
resource = "
|
|
235
|
-
|
|
319
|
+
else {
|
|
320
|
+
resource = "b";
|
|
321
|
+
if (blobSASSignatureValues.snapshotTime) {
|
|
322
|
+
resource = "bs";
|
|
323
|
+
}
|
|
324
|
+
else if (blobSASSignatureValues.versionId) {
|
|
325
|
+
resource = "bv";
|
|
326
|
+
timestamp = blobSASSignatureValues.versionId;
|
|
327
|
+
}
|
|
236
328
|
}
|
|
237
329
|
}
|
|
238
330
|
// Calling parse and toString guarantees the proper ordering and throws on invalid characters.
|
|
@@ -270,7 +362,7 @@ function generateBlobSASQueryParameters20201206(blobSASSignatureValues, sharedKe
|
|
|
270
362
|
].join("\n");
|
|
271
363
|
const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);
|
|
272
364
|
return {
|
|
273
|
-
sasQueryParameters: 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),
|
|
365
|
+
sasQueryParameters: 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, undefined, undefined, undefined, directoryDepth),
|
|
274
366
|
stringToSign: stringToSign,
|
|
275
367
|
};
|
|
276
368
|
}
|
|
@@ -375,14 +467,21 @@ function generateBlobSASQueryParametersUDK20200210(blobSASSignatureValues, userD
|
|
|
375
467
|
}
|
|
376
468
|
let resource = "c";
|
|
377
469
|
let timestamp = blobSASSignatureValues.snapshotTime;
|
|
470
|
+
let directoryDepth = undefined;
|
|
378
471
|
if (blobSASSignatureValues.blobName) {
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
472
|
+
if (blobSASSignatureValues.isDirectory === true) {
|
|
473
|
+
resource = "d";
|
|
474
|
+
directoryDepth = trimBlobName(blobSASSignatureValues.blobName).split("/").length;
|
|
382
475
|
}
|
|
383
|
-
else
|
|
384
|
-
resource = "
|
|
385
|
-
|
|
476
|
+
else {
|
|
477
|
+
resource = "b";
|
|
478
|
+
if (blobSASSignatureValues.snapshotTime) {
|
|
479
|
+
resource = "bs";
|
|
480
|
+
}
|
|
481
|
+
else if (blobSASSignatureValues.versionId) {
|
|
482
|
+
resource = "bv";
|
|
483
|
+
timestamp = blobSASSignatureValues.versionId;
|
|
484
|
+
}
|
|
386
485
|
}
|
|
387
486
|
}
|
|
388
487
|
// Calling parse and toString guarantees the proper ordering and throws on invalid characters.
|
|
@@ -431,7 +530,7 @@ function generateBlobSASQueryParametersUDK20200210(blobSASSignatureValues, userD
|
|
|
431
530
|
].join("\n");
|
|
432
531
|
const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);
|
|
433
532
|
return {
|
|
434
|
-
sasQueryParameters: 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),
|
|
533
|
+
sasQueryParameters: 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, undefined, undefined, undefined, undefined, directoryDepth),
|
|
435
534
|
stringToSign: stringToSign,
|
|
436
535
|
};
|
|
437
536
|
}
|
|
@@ -457,14 +556,21 @@ function generateBlobSASQueryParametersUDK20201206(blobSASSignatureValues, userD
|
|
|
457
556
|
}
|
|
458
557
|
let resource = "c";
|
|
459
558
|
let timestamp = blobSASSignatureValues.snapshotTime;
|
|
559
|
+
let directoryDepth = undefined;
|
|
460
560
|
if (blobSASSignatureValues.blobName) {
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
561
|
+
if (blobSASSignatureValues.isDirectory === true) {
|
|
562
|
+
resource = "d";
|
|
563
|
+
directoryDepth = trimBlobName(blobSASSignatureValues.blobName).split("/").length;
|
|
464
564
|
}
|
|
465
|
-
else
|
|
466
|
-
resource = "
|
|
467
|
-
|
|
565
|
+
else {
|
|
566
|
+
resource = "b";
|
|
567
|
+
if (blobSASSignatureValues.snapshotTime) {
|
|
568
|
+
resource = "bs";
|
|
569
|
+
}
|
|
570
|
+
else if (blobSASSignatureValues.versionId) {
|
|
571
|
+
resource = "bv";
|
|
572
|
+
timestamp = blobSASSignatureValues.versionId;
|
|
573
|
+
}
|
|
468
574
|
}
|
|
469
575
|
}
|
|
470
576
|
// Calling parse and toString guarantees the proper ordering and throws on invalid characters.
|
|
@@ -514,7 +620,7 @@ function generateBlobSASQueryParametersUDK20201206(blobSASSignatureValues, userD
|
|
|
514
620
|
].join("\n");
|
|
515
621
|
const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);
|
|
516
622
|
return {
|
|
517
|
-
sasQueryParameters: 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),
|
|
623
|
+
sasQueryParameters: 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, undefined, undefined, undefined, directoryDepth),
|
|
518
624
|
stringToSign: stringToSign,
|
|
519
625
|
};
|
|
520
626
|
}
|
|
@@ -540,14 +646,21 @@ function generateBlobSASQueryParametersUDK20250705(blobSASSignatureValues, userD
|
|
|
540
646
|
}
|
|
541
647
|
let resource = "c";
|
|
542
648
|
let timestamp = blobSASSignatureValues.snapshotTime;
|
|
649
|
+
let directoryDepth = undefined;
|
|
543
650
|
if (blobSASSignatureValues.blobName) {
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
651
|
+
if (blobSASSignatureValues.isDirectory === true) {
|
|
652
|
+
resource = "d";
|
|
653
|
+
directoryDepth = trimBlobName(blobSASSignatureValues.blobName).split("/").length;
|
|
547
654
|
}
|
|
548
|
-
else
|
|
549
|
-
resource = "
|
|
550
|
-
|
|
655
|
+
else {
|
|
656
|
+
resource = "b";
|
|
657
|
+
if (blobSASSignatureValues.snapshotTime) {
|
|
658
|
+
resource = "bs";
|
|
659
|
+
}
|
|
660
|
+
else if (blobSASSignatureValues.versionId) {
|
|
661
|
+
resource = "bv";
|
|
662
|
+
timestamp = blobSASSignatureValues.versionId;
|
|
663
|
+
}
|
|
551
664
|
}
|
|
552
665
|
}
|
|
553
666
|
// Calling parse and toString guarantees the proper ordering and throws on invalid characters.
|
|
@@ -599,7 +712,7 @@ function generateBlobSASQueryParametersUDK20250705(blobSASSignatureValues, userD
|
|
|
599
712
|
].join("\n");
|
|
600
713
|
const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);
|
|
601
714
|
return {
|
|
602
|
-
sasQueryParameters: 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, blobSASSignatureValues.delegatedUserObjectId),
|
|
715
|
+
sasQueryParameters: 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, blobSASSignatureValues.delegatedUserObjectId, undefined, undefined, directoryDepth),
|
|
603
716
|
stringToSign: stringToSign,
|
|
604
717
|
};
|
|
605
718
|
}
|
|
@@ -625,14 +738,21 @@ function generateBlobSASQueryParametersUDK20260406(blobSASSignatureValues, userD
|
|
|
625
738
|
}
|
|
626
739
|
let resource = "c";
|
|
627
740
|
let timestamp = blobSASSignatureValues.snapshotTime;
|
|
741
|
+
let directoryDepth = undefined;
|
|
628
742
|
if (blobSASSignatureValues.blobName) {
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
743
|
+
if (blobSASSignatureValues.isDirectory === true) {
|
|
744
|
+
resource = "d";
|
|
745
|
+
directoryDepth = trimBlobName(blobSASSignatureValues.blobName).split("/").length;
|
|
632
746
|
}
|
|
633
|
-
else
|
|
634
|
-
resource = "
|
|
635
|
-
|
|
747
|
+
else {
|
|
748
|
+
resource = "b";
|
|
749
|
+
if (blobSASSignatureValues.snapshotTime) {
|
|
750
|
+
resource = "bs";
|
|
751
|
+
}
|
|
752
|
+
else if (blobSASSignatureValues.versionId) {
|
|
753
|
+
resource = "bv";
|
|
754
|
+
timestamp = blobSASSignatureValues.versionId;
|
|
755
|
+
}
|
|
636
756
|
}
|
|
637
757
|
}
|
|
638
758
|
// Calling parse and toString guarantees the proper ordering and throws on invalid characters.
|
|
@@ -686,7 +806,7 @@ function generateBlobSASQueryParametersUDK20260406(blobSASSignatureValues, userD
|
|
|
686
806
|
].join("\n");
|
|
687
807
|
const signature = userDelegationKeyCredential.computeHMACSHA256(stringToSign);
|
|
688
808
|
return {
|
|
689
|
-
sasQueryParameters: 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, blobSASSignatureValues.delegatedUserObjectId, getKeysOfRequestHeaders(blobSASSignatureValues.requestHeaders), getKeysOfRequestHeaders(blobSASSignatureValues.requestQueryParameters)),
|
|
809
|
+
sasQueryParameters: 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, blobSASSignatureValues.delegatedUserObjectId, getKeysOfRequestHeaders(blobSASSignatureValues.requestHeaders), getKeysOfRequestHeaders(blobSASSignatureValues.requestQueryParameters), directoryDepth),
|
|
690
810
|
stringToSign: stringToSign,
|
|
691
811
|
};
|
|
692
812
|
}
|
|
@@ -794,4 +914,14 @@ function SASSignatureValuesSanityCheckAndAutofill(blobSASSignatureValues) {
|
|
|
794
914
|
blobSASSignatureValues.version = version;
|
|
795
915
|
return blobSASSignatureValues;
|
|
796
916
|
}
|
|
917
|
+
function trimBlobName(blobName) {
|
|
918
|
+
let internalName = blobName;
|
|
919
|
+
while (internalName.startsWith("/")) {
|
|
920
|
+
internalName = internalName.substring(1);
|
|
921
|
+
}
|
|
922
|
+
while (internalName.endsWith("/")) {
|
|
923
|
+
internalName = internalName.substring(0, internalName.length - 1);
|
|
924
|
+
}
|
|
925
|
+
return internalName;
|
|
926
|
+
}
|
|
797
927
|
//# sourceMappingURL=BlobSASSignatureValues.js.map
|