@azure/storage-queue 12.29.0 → 12.30.0-beta.1
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/browser/Pipeline.d.ts +2 -3
- package/dist/browser/Pipeline.d.ts.map +1 -1
- package/dist/browser/Pipeline.js.map +1 -1
- package/dist/browser/QueueClient.d.ts +2 -1
- package/dist/browser/QueueClient.d.ts.map +1 -1
- package/dist/browser/QueueClient.js.map +1 -1
- package/dist/browser/QueueSASSignatureValues.d.ts +2 -1
- package/dist/browser/QueueSASSignatureValues.d.ts.map +1 -1
- package/dist/browser/QueueSASSignatureValues.js +2 -2
- package/dist/browser/QueueSASSignatureValues.js.map +1 -1
- package/dist/browser/QueueServiceClient.d.ts +28 -0
- package/dist/browser/QueueServiceClient.d.ts.map +1 -1
- package/dist/browser/QueueServiceClient.js +21 -13
- package/dist/browser/QueueServiceClient.js.map +1 -1
- package/dist/browser/SASQueryParameters.d.ts +6 -1
- package/dist/browser/SASQueryParameters.d.ts.map +1 -1
- package/dist/browser/SASQueryParameters.js +10 -0
- package/dist/browser/SASQueryParameters.js.map +1 -1
- package/dist/browser/generated/src/models/index.d.ts +4 -0
- 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 +14 -0
- package/dist/browser/generated/src/models/mappers.js.map +1 -1
- package/dist/browser/generated/src/models/parameters.js +1 -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/generatedModels.d.ts +2 -2
- package/dist/browser/generatedModels.d.ts.map +1 -1
- package/dist/browser/generatedModels.js.map +1 -1
- package/dist/browser/index.d.ts +8 -8
- package/dist/browser/index.d.ts.map +1 -0
- package/dist/browser/index.js +1 -2
- package/dist/browser/index.js.map +1 -0
- package/dist/browser/utils/constants.d.ts.map +1 -1
- package/dist/browser/utils/constants.js +2 -2
- package/dist/browser/utils/constants.js.map +1 -1
- package/dist/commonjs/AccountSASPermissions.js +133 -126
- package/dist/commonjs/AccountSASPermissions.js.map +7 -1
- package/dist/commonjs/AccountSASResourceTypes.js +80 -70
- package/dist/commonjs/AccountSASResourceTypes.js.map +7 -1
- package/dist/commonjs/AccountSASServices.js +88 -78
- package/dist/commonjs/AccountSASServices.js.map +7 -1
- package/dist/commonjs/AccountSASSignatureValues.js +91 -72
- package/dist/commonjs/AccountSASSignatureValues.js.map +7 -1
- package/dist/commonjs/Pipeline.d.ts +2 -3
- package/dist/commonjs/Pipeline.d.ts.map +1 -1
- package/dist/commonjs/Pipeline.js +244 -244
- package/dist/commonjs/Pipeline.js.map +7 -1
- package/dist/commonjs/QueueClient.d.ts +2 -1
- package/dist/commonjs/QueueClient.d.ts.map +1 -1
- package/dist/commonjs/QueueClient.js +710 -683
- package/dist/commonjs/QueueClient.js.map +7 -1
- package/dist/commonjs/QueueSASPermissions.js +90 -80
- package/dist/commonjs/QueueSASPermissions.js.map +7 -1
- package/dist/commonjs/QueueSASSignatureValues.d.ts +2 -1
- package/dist/commonjs/QueueSASSignatureValues.d.ts.map +1 -1
- package/dist/commonjs/QueueSASSignatureValues.js +151 -111
- package/dist/commonjs/QueueSASSignatureValues.js.map +7 -1
- package/dist/commonjs/QueueServiceClient.d.ts +28 -0
- package/dist/commonjs/QueueServiceClient.d.ts.map +1 -1
- package/dist/commonjs/QueueServiceClient.js +532 -472
- package/dist/commonjs/QueueServiceClient.js.map +7 -1
- package/dist/commonjs/SASQueryParameters.d.ts +6 -1
- package/dist/commonjs/SASQueryParameters.d.ts.map +1 -1
- package/dist/commonjs/SASQueryParameters.js +308 -267
- package/dist/commonjs/SASQueryParameters.js.map +7 -1
- package/dist/commonjs/SasIPRange.js +27 -14
- package/dist/commonjs/SasIPRange.js.map +7 -1
- package/dist/commonjs/StorageClient.js +75 -65
- package/dist/commonjs/StorageClient.js.map +7 -1
- package/dist/commonjs/StorageContextClient.js +34 -20
- package/dist/commonjs/StorageContextClient.js.map +7 -1
- package/dist/commonjs/generated/src/index.js +32 -16
- package/dist/commonjs/generated/src/index.js.map +7 -1
- package/dist/commonjs/generated/src/models/index.d.ts +4 -0
- package/dist/commonjs/generated/src/models/index.d.ts.map +1 -1
- package/dist/commonjs/generated/src/models/index.js +86 -129
- package/dist/commonjs/generated/src/models/index.js.map +7 -1
- package/dist/commonjs/generated/src/models/mappers.d.ts.map +1 -1
- package/dist/commonjs/generated/src/models/mappers.js +1947 -1817
- package/dist/commonjs/generated/src/models/mappers.js.map +7 -1
- package/dist/commonjs/generated/src/models/parameters.js +378 -305
- package/dist/commonjs/generated/src/models/parameters.js.map +7 -1
- package/dist/commonjs/generated/src/operations/index.js +27 -15
- package/dist/commonjs/generated/src/operations/index.js.map +7 -1
- package/dist/commonjs/generated/src/operations/messageId.js +130 -99
- package/dist/commonjs/generated/src/operations/messageId.js.map +7 -1
- package/dist/commonjs/generated/src/operations/messages.js +213 -185
- package/dist/commonjs/generated/src/operations/messages.js.map +7 -1
- package/dist/commonjs/generated/src/operations/queue.js +243 -206
- package/dist/commonjs/generated/src/operations/queue.js.map +7 -1
- package/dist/commonjs/generated/src/operations/service.js +239 -199
- package/dist/commonjs/generated/src/operations/service.js.map +7 -1
- package/dist/commonjs/generated/src/operationsInterfaces/index.js +27 -15
- package/dist/commonjs/generated/src/operationsInterfaces/index.js.map +7 -1
- package/dist/commonjs/generated/src/operationsInterfaces/messageId.js +15 -10
- package/dist/commonjs/generated/src/operationsInterfaces/messageId.js.map +7 -1
- package/dist/commonjs/generated/src/operationsInterfaces/messages.js +15 -10
- package/dist/commonjs/generated/src/operationsInterfaces/messages.js.map +7 -1
- package/dist/commonjs/generated/src/operationsInterfaces/queue.js +15 -10
- package/dist/commonjs/generated/src/operationsInterfaces/queue.js.map +7 -1
- package/dist/commonjs/generated/src/operationsInterfaces/service.js +15 -10
- package/dist/commonjs/generated/src/operationsInterfaces/service.js.map +7 -1
- package/dist/commonjs/generated/src/storageClient.js +77 -59
- package/dist/commonjs/generated/src/storageClient.js.map +7 -1
- package/dist/commonjs/generatedModels.d.ts +2 -2
- package/dist/commonjs/generatedModels.d.ts.map +1 -1
- package/dist/commonjs/generatedModels.js +15 -5
- package/dist/commonjs/generatedModels.js.map +7 -1
- package/dist/commonjs/index.d.ts +9 -9
- package/dist/commonjs/index.d.ts.map +1 -1
- package/dist/commonjs/index.js +88 -43
- package/dist/commonjs/index.js.map +7 -1
- package/dist/commonjs/log.js +28 -11
- package/dist/commonjs/log.js.map +7 -1
- package/dist/commonjs/models.js +33 -21
- package/dist/commonjs/models.js.map +7 -1
- package/dist/commonjs/tsdoc-metadata.json +1 -1
- package/dist/commonjs/utils/constants.d.ts.map +1 -1
- package/dist/commonjs/utils/constants.js +151 -114
- package/dist/commonjs/utils/constants.js.map +7 -1
- package/dist/commonjs/utils/tracing.js +32 -16
- package/dist/commonjs/utils/tracing.js.map +7 -1
- package/dist/commonjs/utils/utils.common.js +242 -338
- package/dist/commonjs/utils/utils.common.js.map +7 -1
- package/dist/esm/AccountSASPermissions.js +111 -123
- package/dist/esm/AccountSASPermissions.js.map +7 -1
- package/dist/esm/AccountSASResourceTypes.js +58 -67
- package/dist/esm/AccountSASResourceTypes.js.map +7 -1
- package/dist/esm/AccountSASServices.js +66 -75
- package/dist/esm/AccountSASServices.js.map +7 -1
- package/dist/esm/AccountSASSignatureValues.js +62 -63
- package/dist/esm/AccountSASSignatureValues.js.map +7 -1
- package/dist/esm/Pipeline.d.ts +2 -3
- package/dist/esm/Pipeline.d.ts.map +1 -1
- package/dist/esm/Pipeline.js +239 -239
- package/dist/esm/Pipeline.js.map +7 -1
- package/dist/esm/QueueClient.d.ts +2 -1
- package/dist/esm/QueueClient.d.ts.map +1 -1
- package/dist/esm/QueueClient.js +689 -671
- package/dist/esm/QueueClient.js.map +7 -1
- package/dist/esm/QueueSASPermissions.js +68 -77
- package/dist/esm/QueueSASPermissions.js.map +7 -1
- package/dist/esm/QueueSASSignatureValues.d.ts +2 -1
- package/dist/esm/QueueSASSignatureValues.d.ts.map +1 -1
- package/dist/esm/QueueSASSignatureValues.js +124 -104
- package/dist/esm/QueueSASSignatureValues.js.map +7 -1
- package/dist/esm/QueueServiceClient.d.ts +28 -0
- package/dist/esm/QueueServiceClient.d.ts.map +1 -1
- package/dist/esm/QueueServiceClient.js +507 -457
- package/dist/esm/QueueServiceClient.js.map +7 -1
- package/dist/esm/SASQueryParameters.d.ts +6 -1
- package/dist/esm/SASQueryParameters.d.ts.map +1 -1
- package/dist/esm/SASQueryParameters.js +283 -262
- package/dist/esm/SASQueryParameters.js.map +7 -1
- package/dist/esm/SasIPRange.js +5 -12
- package/dist/esm/SasIPRange.js.map +7 -1
- package/dist/esm/StorageClient.js +50 -59
- package/dist/esm/StorageClient.js.map +7 -1
- package/dist/esm/StorageContextClient.js +10 -15
- package/dist/esm/StorageContextClient.js.map +7 -1
- package/dist/esm/generated/src/index.js +4 -9
- package/dist/esm/generated/src/index.js.map +7 -1
- package/dist/esm/generated/src/models/index.d.ts +4 -0
- package/dist/esm/generated/src/models/index.d.ts.map +1 -1
- package/dist/esm/generated/src/models/index.js +63 -126
- package/dist/esm/generated/src/models/index.js.map +7 -1
- package/dist/esm/generated/src/models/mappers.d.ts.map +1 -1
- package/dist/esm/generated/src/models/mappers.js +1873 -1813
- package/dist/esm/generated/src/models/mappers.js.map +7 -1
- package/dist/esm/generated/src/models/parameters.js +330 -302
- package/dist/esm/generated/src/models/parameters.js.map +7 -1
- package/dist/esm/generated/src/operations/index.js +0 -8
- package/dist/esm/generated/src/operations/index.js.map +7 -1
- package/dist/esm/generated/src/operations/messageId.js +95 -92
- package/dist/esm/generated/src/operations/messageId.js.map +7 -1
- package/dist/esm/generated/src/operations/messages.js +178 -178
- package/dist/esm/generated/src/operations/messages.js.map +7 -1
- package/dist/esm/generated/src/operations/queue.js +208 -199
- package/dist/esm/generated/src/operations/queue.js.map +7 -1
- package/dist/esm/generated/src/operations/service.js +204 -192
- package/dist/esm/generated/src/operations/service.js.map +7 -1
- package/dist/esm/generated/src/operationsInterfaces/index.js +0 -8
- package/dist/esm/generated/src/operationsInterfaces/index.js.map +7 -1
- package/dist/esm/generated/src/operationsInterfaces/messageId.js +0 -9
- package/dist/esm/generated/src/operationsInterfaces/messageId.js.map +7 -1
- package/dist/esm/generated/src/operationsInterfaces/messages.js +0 -9
- package/dist/esm/generated/src/operationsInterfaces/messages.js.map +7 -1
- package/dist/esm/generated/src/operationsInterfaces/queue.js +0 -9
- package/dist/esm/generated/src/operationsInterfaces/queue.js.map +7 -1
- package/dist/esm/generated/src/operationsInterfaces/service.js +0 -9
- package/dist/esm/generated/src/operationsInterfaces/service.js.map +7 -1
- package/dist/esm/generated/src/storageClient.js +49 -54
- package/dist/esm/generated/src/storageClient.js.map +7 -1
- package/dist/esm/generatedModels.d.ts +2 -2
- package/dist/esm/generatedModels.d.ts.map +1 -1
- package/dist/esm/generatedModels.js +0 -4
- package/dist/esm/generatedModels.js.map +7 -1
- package/dist/esm/index.d.ts +9 -9
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +50 -11
- package/dist/esm/index.js.map +7 -1
- package/dist/esm/log.js +4 -7
- package/dist/esm/log.js.map +7 -1
- package/dist/esm/models.js +10 -18
- package/dist/esm/models.js.map +7 -1
- package/dist/esm/utils/constants.d.ts.map +1 -1
- package/dist/esm/utils/constants.js +117 -111
- package/dist/esm/utils/constants.js.map +7 -1
- package/dist/esm/utils/tracing.js +7 -11
- package/dist/esm/utils/tracing.js.map +7 -1
- package/dist/esm/utils/utils.common.js +247 -358
- package/dist/esm/utils/utils.common.js.map +7 -1
- package/dist/react-native/Pipeline.d.ts +2 -3
- package/dist/react-native/Pipeline.d.ts.map +1 -1
- package/dist/react-native/Pipeline.js.map +1 -1
- package/dist/react-native/QueueClient.d.ts +2 -1
- package/dist/react-native/QueueClient.d.ts.map +1 -1
- package/dist/react-native/QueueClient.js.map +1 -1
- package/dist/react-native/QueueSASSignatureValues.d.ts +2 -1
- package/dist/react-native/QueueSASSignatureValues.d.ts.map +1 -1
- package/dist/react-native/QueueSASSignatureValues.js +2 -2
- package/dist/react-native/QueueSASSignatureValues.js.map +1 -1
- package/dist/react-native/QueueServiceClient.d.ts +28 -0
- package/dist/react-native/QueueServiceClient.d.ts.map +1 -1
- package/dist/react-native/QueueServiceClient.js +21 -13
- package/dist/react-native/QueueServiceClient.js.map +1 -1
- package/dist/react-native/SASQueryParameters.d.ts +6 -1
- package/dist/react-native/SASQueryParameters.d.ts.map +1 -1
- package/dist/react-native/SASQueryParameters.js +10 -0
- package/dist/react-native/SASQueryParameters.js.map +1 -1
- package/dist/react-native/generated/src/models/index.d.ts +4 -0
- 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 +14 -0
- package/dist/react-native/generated/src/models/mappers.js.map +1 -1
- package/dist/react-native/generated/src/models/parameters.js +1 -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/generatedModels.d.ts +2 -2
- package/dist/react-native/generatedModels.d.ts.map +1 -1
- package/dist/react-native/generatedModels.js.map +1 -1
- package/dist/react-native/index.d.ts +9 -9
- package/dist/react-native/index.d.ts.map +1 -1
- package/dist/react-native/index.js +0 -1
- package/dist/react-native/index.js.map +1 -1
- package/dist/react-native/utils/constants.d.ts.map +1 -1
- package/dist/react-native/utils/constants.js +2 -2
- package/dist/react-native/utils/constants.js.map +1 -1
- package/package.json +2 -19
- package/dist/browser/index-browser.d.mts.map +0 -1
- package/dist/browser/index-browser.mjs.map +0 -1
|
@@ -1,362 +1,251 @@
|
|
|
1
1
|
import { createHttpHeaders } from "@azure/core-rest-pipeline";
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
2
|
+
import {
|
|
3
|
+
HeaderConstants,
|
|
4
|
+
URLConstants,
|
|
5
|
+
DevelopmentConnectionString,
|
|
6
|
+
PathStylePorts
|
|
7
|
+
} from "./constants.js";
|
|
8
|
+
function appendToURLPath(url, name) {
|
|
9
|
+
const urlParsed = new URL(url);
|
|
10
|
+
let path = urlParsed.pathname;
|
|
11
|
+
path = path ? path.endsWith("/") ? `${path}${name}` : `${path}/${name}` : name;
|
|
12
|
+
urlParsed.pathname = path;
|
|
13
|
+
return urlParsed.toString();
|
|
14
|
+
}
|
|
15
|
+
function setURLParameter(url, name, value) {
|
|
16
|
+
const urlParsed = new URL(url);
|
|
17
|
+
const encodedName = encodeURIComponent(name);
|
|
18
|
+
const encodedValue = value ? encodeURIComponent(value) : void 0;
|
|
19
|
+
const searchString = urlParsed.search === "" ? "?" : urlParsed.search;
|
|
20
|
+
const searchPieces = [];
|
|
21
|
+
for (const pair of searchString.slice(1).split("&")) {
|
|
22
|
+
if (pair) {
|
|
23
|
+
const [key] = pair.split("=", 2);
|
|
24
|
+
if (key !== encodedName) {
|
|
25
|
+
searchPieces.push(pair);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
if (encodedValue) {
|
|
30
|
+
searchPieces.push(`${encodedName}=${encodedValue}`);
|
|
31
|
+
}
|
|
32
|
+
urlParsed.search = searchPieces.length ? `?${searchPieces.join("&")}` : "";
|
|
33
|
+
return urlParsed.toString();
|
|
34
|
+
}
|
|
35
|
+
function getURLParameter(url, name) {
|
|
36
|
+
const urlParsed = new URL(url);
|
|
37
|
+
return urlParsed.searchParams.get(name) ?? void 0;
|
|
38
|
+
}
|
|
39
|
+
function setURLHost(url, host) {
|
|
40
|
+
const urlParsed = new URL(url);
|
|
41
|
+
urlParsed.hostname = host;
|
|
42
|
+
return urlParsed.toString();
|
|
43
|
+
}
|
|
44
|
+
function getURLPath(url) {
|
|
45
|
+
try {
|
|
12
46
|
const urlParsed = new URL(url);
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
const
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
if (encodedValue) {
|
|
43
|
-
searchPieces.push(`${encodedName}=${encodedValue}`);
|
|
44
|
-
}
|
|
45
|
-
urlParsed.search = searchPieces.length ? `?${searchPieces.join("&")}` : "";
|
|
46
|
-
return urlParsed.toString();
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Get URL parameter by name.
|
|
50
|
-
*
|
|
51
|
-
* @param url - URL string
|
|
52
|
-
* @param name - Parameter name
|
|
53
|
-
* @returns Parameter value(s) for the given parameter name.
|
|
54
|
-
*/
|
|
55
|
-
export function getURLParameter(url, name) {
|
|
56
|
-
const urlParsed = new URL(url);
|
|
57
|
-
return urlParsed.searchParams.get(name) ?? undefined;
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Set URL host.
|
|
61
|
-
*
|
|
62
|
-
* @param url - Source URL string
|
|
63
|
-
* @param host - New host string
|
|
64
|
-
* @returns An updated URL string
|
|
65
|
-
*/
|
|
66
|
-
export function setURLHost(url, host) {
|
|
67
|
-
const urlParsed = new URL(url);
|
|
68
|
-
urlParsed.hostname = host;
|
|
69
|
-
return urlParsed.toString();
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Gets URL path from an URL string.
|
|
73
|
-
*
|
|
74
|
-
* @param url - Source URL string
|
|
75
|
-
* @returns The path part of the given URL string.
|
|
76
|
-
*/
|
|
77
|
-
export function getURLPath(url) {
|
|
78
|
-
try {
|
|
79
|
-
const urlParsed = new URL(url);
|
|
80
|
-
return urlParsed.pathname;
|
|
81
|
-
}
|
|
82
|
-
catch (e) {
|
|
83
|
-
return undefined;
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
/**
|
|
87
|
-
* Gets URL query key value pairs from an URL string.
|
|
88
|
-
*
|
|
89
|
-
* @param url -
|
|
90
|
-
* @returns query key value string pairs from the given URL string.
|
|
91
|
-
*/
|
|
92
|
-
export function getURLQueries(url) {
|
|
93
|
-
let queryString = new URL(url).search;
|
|
94
|
-
if (!queryString) {
|
|
95
|
-
return {};
|
|
96
|
-
}
|
|
97
|
-
queryString = queryString.trim();
|
|
98
|
-
queryString = queryString.startsWith("?") ? queryString.substring(1) : queryString;
|
|
99
|
-
let querySubStrings = queryString.split("&");
|
|
100
|
-
querySubStrings = querySubStrings.filter((value) => {
|
|
101
|
-
const indexOfEqual = value.indexOf("=");
|
|
102
|
-
const lastIndexOfEqual = value.lastIndexOf("=");
|
|
103
|
-
return (indexOfEqual > 0 && indexOfEqual === lastIndexOfEqual && lastIndexOfEqual < value.length - 1);
|
|
104
|
-
});
|
|
105
|
-
const queries = {};
|
|
106
|
-
for (const querySubString of querySubStrings) {
|
|
107
|
-
const splitResults = querySubString.split("=");
|
|
108
|
-
const key = splitResults[0];
|
|
109
|
-
const value = splitResults[1];
|
|
110
|
-
queries[key] = value;
|
|
111
|
-
}
|
|
112
|
-
return queries;
|
|
47
|
+
return urlParsed.pathname;
|
|
48
|
+
} catch (e) {
|
|
49
|
+
return void 0;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
function getURLQueries(url) {
|
|
53
|
+
let queryString = new URL(url).search;
|
|
54
|
+
if (!queryString) {
|
|
55
|
+
return {};
|
|
56
|
+
}
|
|
57
|
+
queryString = queryString.trim();
|
|
58
|
+
queryString = queryString.startsWith("?") ? queryString.substring(1) : queryString;
|
|
59
|
+
let querySubStrings = queryString.split("&");
|
|
60
|
+
querySubStrings = querySubStrings.filter((value) => {
|
|
61
|
+
const indexOfEqual = value.indexOf("=");
|
|
62
|
+
const lastIndexOfEqual = value.lastIndexOf("=");
|
|
63
|
+
return indexOfEqual > 0 && indexOfEqual === lastIndexOfEqual && lastIndexOfEqual < value.length - 1;
|
|
64
|
+
});
|
|
65
|
+
const queries = {};
|
|
66
|
+
for (const querySubString of querySubStrings) {
|
|
67
|
+
const splitResults = querySubString.split("=");
|
|
68
|
+
const key = splitResults[0];
|
|
69
|
+
const value = splitResults[1];
|
|
70
|
+
queries[key] = value;
|
|
71
|
+
}
|
|
72
|
+
return queries;
|
|
113
73
|
}
|
|
114
74
|
function getProxyUriFromDevConnString(connectionString) {
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
}
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
}
|
|
293
|
-
/**
|
|
294
|
-
* Extracts account name from the url
|
|
295
|
-
* @param url - url to extract the account name from
|
|
296
|
-
* @returns with the account name
|
|
297
|
-
*/
|
|
298
|
-
export function getAccountNameFromUrl(url) {
|
|
299
|
-
const parsedUrl = new URL(url);
|
|
300
|
-
let accountName;
|
|
301
|
-
try {
|
|
302
|
-
if (parsedUrl.hostname.split(".")[1] === "queue") {
|
|
303
|
-
// `${defaultEndpointsProtocol}://${accountName}.queue.${endpointSuffix}`;
|
|
304
|
-
accountName = parsedUrl.hostname.split(".")[0];
|
|
305
|
-
}
|
|
306
|
-
else if (isIpEndpointStyle(parsedUrl)) {
|
|
307
|
-
// IPv4/IPv6 address hosts... Example - http://192.0.0.10:10001/devstoreaccount1/
|
|
308
|
-
// Single word domain without a [dot] in the endpoint... Example - http://localhost:10001/devstoreaccount1/
|
|
309
|
-
// .getPath() -> /devstoreaccount1/
|
|
310
|
-
accountName = parsedUrl.pathname.split("/")[1];
|
|
311
|
-
}
|
|
312
|
-
else {
|
|
313
|
-
// Custom domain case: "https://customdomain.com/containername/blob".
|
|
314
|
-
accountName = "";
|
|
315
|
-
}
|
|
316
|
-
return accountName;
|
|
317
|
-
}
|
|
318
|
-
catch (error) {
|
|
319
|
-
throw new Error("Unable to extract accountName with provided information.");
|
|
320
|
-
}
|
|
321
|
-
}
|
|
322
|
-
export function isIpEndpointStyle(parsedUrl) {
|
|
323
|
-
const host = parsedUrl.host;
|
|
324
|
-
// Case 1: Ipv6, use a broad regex to find out candidates whose host contains two ':'.
|
|
325
|
-
// Case 2: localhost(:port) or host.docker.internal, use broad regex to match port part.
|
|
326
|
-
// Case 3: Ipv4, use broad regex which just check if host contains Ipv4.
|
|
327
|
-
// For valid host please refer to https://man7.org/linux/man-pages/man7/hostname.7.html.
|
|
328
|
-
return (/^.*:.*:.*$|^(localhost|host.docker.internal)(:[0-9]+)?$|^(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])){3}(:[0-9]+)?$/.test(host) ||
|
|
329
|
-
(Boolean(parsedUrl.port) && PathStylePorts.includes(parsedUrl.port)));
|
|
330
|
-
}
|
|
331
|
-
/**
|
|
332
|
-
* Append a string to URL query.
|
|
333
|
-
*
|
|
334
|
-
* @param url - Source URL string.
|
|
335
|
-
* @param queryParts - String to be appended to the URL query.
|
|
336
|
-
* @returns An updated URL string.
|
|
337
|
-
*/
|
|
338
|
-
export function appendToURLQuery(url, queryParts) {
|
|
339
|
-
const urlParsed = new URL(url);
|
|
340
|
-
let query = urlParsed.search;
|
|
341
|
-
if (query) {
|
|
342
|
-
query += "&" + queryParts;
|
|
343
|
-
}
|
|
344
|
-
else {
|
|
345
|
-
query = queryParts;
|
|
346
|
-
}
|
|
347
|
-
urlParsed.search = query;
|
|
348
|
-
return urlParsed.toString();
|
|
349
|
-
}
|
|
350
|
-
/**
|
|
351
|
-
* A typesafe helper for ensuring that a given response object has
|
|
352
|
-
* the original _response attached.
|
|
353
|
-
* @param response - A response object from calling a client operation
|
|
354
|
-
* @returns The same object, but with known _response property
|
|
355
|
-
*/
|
|
356
|
-
export function assertResponse(response) {
|
|
357
|
-
if (`_response` in response) {
|
|
358
|
-
return response;
|
|
359
|
-
}
|
|
360
|
-
throw new TypeError(`Unexpected response object ${response}`);
|
|
361
|
-
}
|
|
362
|
-
//# sourceMappingURL=utils.common.js.map
|
|
75
|
+
let proxyUri = "";
|
|
76
|
+
if (connectionString.search("DevelopmentStorageProxyUri=") !== -1) {
|
|
77
|
+
const matchCredentials = connectionString.split(";");
|
|
78
|
+
for (const element of matchCredentials) {
|
|
79
|
+
if (element.trim().startsWith("DevelopmentStorageProxyUri=")) {
|
|
80
|
+
proxyUri = element.trim().match("DevelopmentStorageProxyUri=(.*)")[1];
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return proxyUri;
|
|
85
|
+
}
|
|
86
|
+
function getValueInConnString(connectionString, argument) {
|
|
87
|
+
const elements = connectionString.split(";");
|
|
88
|
+
for (const element of elements) {
|
|
89
|
+
if (element.trim().startsWith(argument)) {
|
|
90
|
+
return element.trim().match(argument + "=(.*)")[1];
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
return "";
|
|
94
|
+
}
|
|
95
|
+
function extractConnectionStringParts(connectionString) {
|
|
96
|
+
let proxyUri = "";
|
|
97
|
+
if (connectionString.startsWith("UseDevelopmentStorage=true")) {
|
|
98
|
+
proxyUri = getProxyUriFromDevConnString(connectionString);
|
|
99
|
+
connectionString = DevelopmentConnectionString;
|
|
100
|
+
}
|
|
101
|
+
let queueEndpoint = getValueInConnString(connectionString, "QueueEndpoint");
|
|
102
|
+
queueEndpoint = queueEndpoint.endsWith("/") ? queueEndpoint.slice(0, -1) : queueEndpoint;
|
|
103
|
+
if (connectionString.search("DefaultEndpointsProtocol=") !== -1 && connectionString.search("AccountKey=") !== -1) {
|
|
104
|
+
let defaultEndpointsProtocol = "";
|
|
105
|
+
let accountName = "";
|
|
106
|
+
let accountKey = Buffer.from("accountKey", "base64");
|
|
107
|
+
let endpointSuffix = "";
|
|
108
|
+
accountName = getValueInConnString(connectionString, "AccountName");
|
|
109
|
+
accountKey = Buffer.from(getValueInConnString(connectionString, "AccountKey"), "base64");
|
|
110
|
+
if (!queueEndpoint) {
|
|
111
|
+
defaultEndpointsProtocol = getValueInConnString(connectionString, "DefaultEndpointsProtocol");
|
|
112
|
+
const protocol = defaultEndpointsProtocol.toLowerCase();
|
|
113
|
+
if (protocol !== "https" && protocol !== "http") {
|
|
114
|
+
throw new Error(
|
|
115
|
+
"Invalid DefaultEndpointsProtocol in the provided Connection String. Expecting 'https' or 'http'"
|
|
116
|
+
);
|
|
117
|
+
}
|
|
118
|
+
endpointSuffix = getValueInConnString(connectionString, "EndpointSuffix");
|
|
119
|
+
if (!endpointSuffix) {
|
|
120
|
+
throw new Error("Invalid EndpointSuffix in the provided Connection String");
|
|
121
|
+
}
|
|
122
|
+
queueEndpoint = `${defaultEndpointsProtocol}://${accountName}.queue.${endpointSuffix}`;
|
|
123
|
+
}
|
|
124
|
+
if (!accountName) {
|
|
125
|
+
throw new Error("Invalid AccountName in the provided Connection String");
|
|
126
|
+
} else if (accountKey.length === 0) {
|
|
127
|
+
throw new Error("Invalid AccountKey in the provided Connection String");
|
|
128
|
+
}
|
|
129
|
+
return {
|
|
130
|
+
kind: "AccountConnString",
|
|
131
|
+
url: queueEndpoint,
|
|
132
|
+
accountName,
|
|
133
|
+
accountKey,
|
|
134
|
+
proxyUri
|
|
135
|
+
};
|
|
136
|
+
} else {
|
|
137
|
+
const accountSas = getValueInConnString(connectionString, "SharedAccessSignature");
|
|
138
|
+
let accountName = getValueInConnString(connectionString, "AccountName");
|
|
139
|
+
if (!accountName) {
|
|
140
|
+
accountName = getAccountNameFromUrl(queueEndpoint);
|
|
141
|
+
}
|
|
142
|
+
if (!queueEndpoint) {
|
|
143
|
+
throw new Error("Invalid QueueEndpoint in the provided SAS Connection String");
|
|
144
|
+
} else if (!accountSas) {
|
|
145
|
+
throw new Error("Invalid SharedAccessSignature in the provided SAS Connection String");
|
|
146
|
+
}
|
|
147
|
+
return { kind: "SASConnString", url: queueEndpoint, accountName, accountSas };
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
function truncatedISO8061Date(date, withMilliseconds = true) {
|
|
151
|
+
const dateString = date.toISOString();
|
|
152
|
+
return withMilliseconds ? dateString.substring(0, dateString.length - 1) + "0000Z" : dateString.substring(0, dateString.length - 5) + "Z";
|
|
153
|
+
}
|
|
154
|
+
async function delay(timeInMs, aborter, abortError) {
|
|
155
|
+
return new Promise((resolve, reject) => {
|
|
156
|
+
let timeout;
|
|
157
|
+
const abortHandler = () => {
|
|
158
|
+
if (timeout !== void 0) {
|
|
159
|
+
clearTimeout(timeout);
|
|
160
|
+
}
|
|
161
|
+
reject(abortError);
|
|
162
|
+
};
|
|
163
|
+
const resolveHandler = () => {
|
|
164
|
+
if (aborter !== void 0) {
|
|
165
|
+
aborter.removeEventListener("abort", abortHandler);
|
|
166
|
+
}
|
|
167
|
+
resolve();
|
|
168
|
+
};
|
|
169
|
+
timeout = setTimeout(resolveHandler, timeInMs);
|
|
170
|
+
if (aborter !== void 0) {
|
|
171
|
+
aborter.addEventListener("abort", abortHandler);
|
|
172
|
+
}
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
function sanitizeURL(url) {
|
|
176
|
+
let safeURL = url;
|
|
177
|
+
if (getURLParameter(safeURL, URLConstants.Parameters.SIGNATURE)) {
|
|
178
|
+
safeURL = setURLParameter(safeURL, URLConstants.Parameters.SIGNATURE, "*****");
|
|
179
|
+
}
|
|
180
|
+
return safeURL;
|
|
181
|
+
}
|
|
182
|
+
function sanitizeHeaders(originalHeader) {
|
|
183
|
+
const headers = createHttpHeaders();
|
|
184
|
+
for (const [name, value] of originalHeader) {
|
|
185
|
+
if (name.toLowerCase() === HeaderConstants.AUTHORIZATION) {
|
|
186
|
+
headers.set(name, "*****");
|
|
187
|
+
} else if (name.toLowerCase() === HeaderConstants.X_MS_COPY_SOURCE) {
|
|
188
|
+
headers.set(name, sanitizeURL(value));
|
|
189
|
+
} else {
|
|
190
|
+
headers.set(name, value);
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
return headers;
|
|
194
|
+
}
|
|
195
|
+
function getAccountNameFromUrl(url) {
|
|
196
|
+
const parsedUrl = new URL(url);
|
|
197
|
+
let accountName;
|
|
198
|
+
try {
|
|
199
|
+
if (parsedUrl.hostname.split(".")[1] === "queue") {
|
|
200
|
+
accountName = parsedUrl.hostname.split(".")[0];
|
|
201
|
+
} else if (isIpEndpointStyle(parsedUrl)) {
|
|
202
|
+
accountName = parsedUrl.pathname.split("/")[1];
|
|
203
|
+
} else {
|
|
204
|
+
accountName = "";
|
|
205
|
+
}
|
|
206
|
+
return accountName;
|
|
207
|
+
} catch (error) {
|
|
208
|
+
throw new Error("Unable to extract accountName with provided information.");
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
function isIpEndpointStyle(parsedUrl) {
|
|
212
|
+
const host = parsedUrl.host;
|
|
213
|
+
return /^.*:.*:.*$|^(localhost|host.docker.internal)(:[0-9]+)?$|^(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])(\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])){3}(:[0-9]+)?$/.test(
|
|
214
|
+
host
|
|
215
|
+
) || Boolean(parsedUrl.port) && PathStylePorts.includes(parsedUrl.port);
|
|
216
|
+
}
|
|
217
|
+
function appendToURLQuery(url, queryParts) {
|
|
218
|
+
const urlParsed = new URL(url);
|
|
219
|
+
let query = urlParsed.search;
|
|
220
|
+
if (query) {
|
|
221
|
+
query += "&" + queryParts;
|
|
222
|
+
} else {
|
|
223
|
+
query = queryParts;
|
|
224
|
+
}
|
|
225
|
+
urlParsed.search = query;
|
|
226
|
+
return urlParsed.toString();
|
|
227
|
+
}
|
|
228
|
+
function assertResponse(response) {
|
|
229
|
+
if (`_response` in response) {
|
|
230
|
+
return response;
|
|
231
|
+
}
|
|
232
|
+
throw new TypeError(`Unexpected response object ${response}`);
|
|
233
|
+
}
|
|
234
|
+
export {
|
|
235
|
+
appendToURLPath,
|
|
236
|
+
appendToURLQuery,
|
|
237
|
+
assertResponse,
|
|
238
|
+
delay,
|
|
239
|
+
extractConnectionStringParts,
|
|
240
|
+
getAccountNameFromUrl,
|
|
241
|
+
getURLParameter,
|
|
242
|
+
getURLPath,
|
|
243
|
+
getURLQueries,
|
|
244
|
+
getValueInConnString,
|
|
245
|
+
isIpEndpointStyle,
|
|
246
|
+
sanitizeHeaders,
|
|
247
|
+
sanitizeURL,
|
|
248
|
+
setURLHost,
|
|
249
|
+
setURLParameter,
|
|
250
|
+
truncatedISO8061Date
|
|
251
|
+
};
|