@azure/storage-queue
Version:
Microsoft Azure Storage SDK for JavaScript - Queue
97 lines (96 loc) • 4.61 kB
JavaScript
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
var AccountSASSignatureValues_exports = {};
__export(AccountSASSignatureValues_exports, {
generateAccountSASQueryParameters: () => generateAccountSASQueryParameters,
generateAccountSASQueryParametersInternal: () => generateAccountSASQueryParametersInternal
});
module.exports = __toCommonJS(AccountSASSignatureValues_exports);
var import_AccountSASPermissions = require("./AccountSASPermissions.js");
var import_AccountSASResourceTypes = require("./AccountSASResourceTypes.js");
var import_AccountSASServices = require("./AccountSASServices.js");
var import_SasIPRange = require("./SasIPRange.js");
var import_SASQueryParameters = require("./SASQueryParameters.js");
var import_constants = require("./utils/constants.js");
var import_utils_common = require("./utils/utils.common.js");
function generateAccountSASQueryParameters(accountSASSignatureValues, sharedKeyCredential) {
return generateAccountSASQueryParametersInternal(accountSASSignatureValues, sharedKeyCredential).sasQueryParameters;
}
function generateAccountSASQueryParametersInternal(accountSASSignatureValues, sharedKeyCredential) {
const version = accountSASSignatureValues.version ? accountSASSignatureValues.version : import_constants.SERVICE_VERSION;
const parsedPermissions = import_AccountSASPermissions.AccountSASPermissions.parse(
accountSASSignatureValues.permissions.toString()
).toString();
const parsedServices = import_AccountSASServices.AccountSASServices.parse(accountSASSignatureValues.services).toString();
const parsedResourceTypes = import_AccountSASResourceTypes.AccountSASResourceTypes.parse(
accountSASSignatureValues.resourceTypes
).toString();
let stringToSign;
if (version >= "2020-12-06") {
stringToSign = [
sharedKeyCredential.accountName,
parsedPermissions,
parsedServices,
parsedResourceTypes,
accountSASSignatureValues.startsOn ? (0, import_utils_common.truncatedISO8061Date)(accountSASSignatureValues.startsOn, false) : "",
(0, import_utils_common.truncatedISO8061Date)(accountSASSignatureValues.expiresOn, false),
accountSASSignatureValues.ipRange ? (0, import_SasIPRange.ipRangeToString)(accountSASSignatureValues.ipRange) : "",
accountSASSignatureValues.protocol ? accountSASSignatureValues.protocol : "",
version,
"",
// Reserved for encryption scope
""
// Account SAS requires an additional newline character
].join("\n");
} else {
stringToSign = [
sharedKeyCredential.accountName,
parsedPermissions,
parsedServices,
parsedResourceTypes,
accountSASSignatureValues.startsOn ? (0, import_utils_common.truncatedISO8061Date)(accountSASSignatureValues.startsOn, false) : "",
(0, import_utils_common.truncatedISO8061Date)(accountSASSignatureValues.expiresOn, false),
accountSASSignatureValues.ipRange ? (0, import_SasIPRange.ipRangeToString)(accountSASSignatureValues.ipRange) : "",
accountSASSignatureValues.protocol ? accountSASSignatureValues.protocol : "",
version,
""
// Account SAS requires an additional newline character
].join("\n");
}
const signature = sharedKeyCredential.computeHMACSHA256(stringToSign);
return {
sasQueryParameters: new import_SASQueryParameters.SASQueryParameters(
version,
signature,
parsedPermissions,
parsedServices,
parsedResourceTypes,
accountSASSignatureValues.protocol,
accountSASSignatureValues.startsOn,
accountSASSignatureValues.expiresOn,
accountSASSignatureValues.ipRange
),
stringToSign
};
}
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
generateAccountSASQueryParameters,
generateAccountSASQueryParametersInternal
});
//# sourceMappingURL=AccountSASSignatureValues.js.map