oci-common 2.135.1 → 2.136.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.
|
@@ -13,6 +13,13 @@ export declare class EndpointBuilder {
|
|
|
13
13
|
regionId: string, endpointServiceName?: string): string;
|
|
14
14
|
static populateServiceParamsInEndpoint(endpoint: string, pathParams: any, queryParams: any, requiredParams: Set<string>): string;
|
|
15
15
|
private static getParameterValueFromPathAndQueryParams;
|
|
16
|
+
/**
|
|
17
|
+
* Validates that an endpoint template parameter is safe to include in a domain name.
|
|
18
|
+
* Domain-safe endpoint parameters may be a single label or multiple dot-separated labels.
|
|
19
|
+
* Each label may contain only letters, digits, underscores, and internal hyphens, and
|
|
20
|
+
* must not begin or end with a hyphen.
|
|
21
|
+
*/
|
|
22
|
+
private static validateDomainSafeParameter;
|
|
16
23
|
private static isRealmSpecificEndpointTemplateEnabledViaEnv;
|
|
17
24
|
private static get isDualStackEnabledViaEnv();
|
|
18
25
|
static updateEndpointTemplateForOptions(endpointTemplate: string, dualStackEnabledOnClient: boolean | undefined, serviceUsesDualStackByDefault: boolean): string;
|
package/lib/endpoint-builder.js
CHANGED
|
@@ -9,6 +9,7 @@ const region_1 = require("./region");
|
|
|
9
9
|
const realm_1 = require("./realm");
|
|
10
10
|
const log_1 = require("./log");
|
|
11
11
|
const OCI_DUALSTACK_ENDPOINT_ENABLED_ENV_VAR = "OCI_DUAL_STACK_ENDPOINT_ENABLED";
|
|
12
|
+
const DOMAIN_SAFE_PARAMETER_REGEX = RegExp("^[A-Z0-9_](?:[A-Z0-9_-]{0,61}[A-Z0-9_])?(?:\\.[A-Z0-9_](?:[A-Z0-9_-]{0,61}[A-Z0-9_])?)*$", "i");
|
|
12
13
|
const ENDPOINT_TEMPLATE_OPTION_PHRASE = "((\\w|\\.|\\-)+)";
|
|
13
14
|
const DUALSTACK_OPTION = "{dualStack";
|
|
14
15
|
const PATTERN_FOR_ENDPOINT_TEMPLATE_OPTIONS = "\\{" +
|
|
@@ -120,6 +121,9 @@ class EndpointBuilder {
|
|
|
120
121
|
value = EndpointBuilder.getParameterValueFromPathAndQueryParams(paramName, pathParams, queryParams);
|
|
121
122
|
}
|
|
122
123
|
if (value) {
|
|
124
|
+
if (appendDotInEndpointTemplate) {
|
|
125
|
+
EndpointBuilder.validateDomainSafeParameter(paramName, value);
|
|
126
|
+
}
|
|
123
127
|
if (appendDotInEndpointTemplate)
|
|
124
128
|
value += ".";
|
|
125
129
|
populatedEndpoint = populatedEndpoint.replace(paramFromEndpoint[0], value);
|
|
@@ -138,6 +142,17 @@ class EndpointBuilder {
|
|
|
138
142
|
return queryParams[parameterName];
|
|
139
143
|
return "";
|
|
140
144
|
}
|
|
145
|
+
/**
|
|
146
|
+
* Validates that an endpoint template parameter is safe to include in a domain name.
|
|
147
|
+
* Domain-safe endpoint parameters may be a single label or multiple dot-separated labels.
|
|
148
|
+
* Each label may contain only letters, digits, underscores, and internal hyphens, and
|
|
149
|
+
* must not begin or end with a hyphen.
|
|
150
|
+
*/
|
|
151
|
+
static validateDomainSafeParameter(parameterName, parameterValue) {
|
|
152
|
+
if (!DOMAIN_SAFE_PARAMETER_REGEX.test(parameterValue)) {
|
|
153
|
+
throw Error(`Endpoint parameter ${parameterName} contains characters that are not allowed in a domain-safe endpoint parameter`);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
141
156
|
static isRealmSpecificEndpointTemplateEnabledViaEnv() {
|
|
142
157
|
if (process.env.OCI_REALM_SPECIFIC_SERVICE_ENDPOINT_TEMPLATE_ENABLED === "true") {
|
|
143
158
|
return true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"endpoint-builder.js","sourceRoot":"","sources":["../../../../lib/endpoint-builder.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,qCAAkC;AAClC,mCAAgC;AAChC,+BAA4B;AAE5B,MAAM,sCAAsC,GAAG,iCAAiC,CAAC;AACjF,MAAM,+BAA+B,GAAG,kBAAkB,CAAC;AAC3D,MAAM,gBAAgB,GAAG,YAAY,CAAC;AACtC,MAAM,qCAAqC,GACzC,KAAK;IACL,+BAA+B;IAC/B,OAAO;IACP,+BAA+B;IAC/B,GAAG;IACH,+BAA+B;IAC/B,GAAG;IACH,IAAI;IACJ,+BAA+B;IAC/B,eAAe;IACf,+BAA+B;IAC/B,KAAK,CAAC;AAER,MAAa,eAAe;IACnB,MAAM,CAAC,wBAAwB,CACpC,QAAgB,EAChB,MAAc,EACd,mBAA4B,EAC5B,+BAAqC,EACrC,gCAA0C;QAE1C,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QACjC,MAAM,iBAAiB,GAAG,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC;QACzD,MAAM,aAAa,GAAG,eAAe,CAAC,gCAAgC,CACpE,MAAM,CAAC,KAAK,EACZ,QAAQ,EACR,+BAA+B,EAC/B,gCAAgC,CACjC,CAAC;QACF,qEAAqE;QACrE,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YAC1B,OAAO,eAAe,CAAC,6BAA6B,CAClD,aAAa,EACb,QAAQ,EACR,mBAAmB,CACpB,CAAC;SACH;aAAM;YACL,kDAAkD;YAClD,OAAO,eAAe,CAAC,8CAA8C,CACnE,aAAa,EACb,QAAQ,EACR,iBAAiB,CAClB,CAAC;SACH;IACH,CAAC;IAEO,MAAM,CAAC,gCAAgC,CAC7C,KAAY,EACZ,eAAuB,EACvB,+BAAqC,EACrC,gCAA0C;QAE1C,IAAI,aAAa,GAAG,eAAe,CAAC;QACpC,IAAI,gCAAgC,EAAE;YACpC,aAAa,GAAG,eAAe,CAAC,wBAAwB,CACtD,KAAK,EACL,eAAe,EACf,+BAA+B,CAChC,CAAC;SACH;aAAM,IAAI,eAAe,CAAC,4CAA4C,EAAE,EAAE;YACzE,aAAa,GAAG,eAAe,CAAC,wBAAwB,CACtD,KAAK,EACL,eAAe,EACf,+BAA+B,CAChC,CAAC;SACH;QACD,OAAO,aAAa,CAAC;IACvB,CAAC;IACO,MAAM,CAAC,wBAAwB,CACrC,KAAY,EACZ,eAAuB,EACvB,+BAAqC;QAErC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QAC5C,IAAI,+BAA+B,EAAE;YACnC,IAAI,+BAA+B,CAAC,OAAO,CAAC,EAAE;gBAC5C,IAAI,SAAG,CAAC,MAAM;oBACZ,SAAG,CAAC,MAAM,CAAC,IAAI,CACb,SAAS,+BAA+B,CAAC,OAAO,CAAC,0CAA0C,CAC5F,CAAC;gBACJ,OAAO,+BAA+B,CAAC,OAAO,CAAC,CAAC;aACjD;SACF;QACD,IAAI,SAAG,CAAC,MAAM;YACZ,SAAG,CAAC,MAAM,CAAC,IAAI,CACb,8CAA8C,OAAO,wDAAwD,eAAe,EAAE,CAC/H,CAAC;QACJ,OAAO,eAAe,CAAC;IACzB,CAAC;IAEM,MAAM,CAAC,0BAA0B,CACtC,QAAgB,EAChB,QAAgB,EAChB,mBAA4B,EAC5B,+BAAqC,EACrC,gCAA0C;QAE1C,qEAAqE;QACrE,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC;YACxB,OAAO,eAAe,CAAC,6BAA6B,CAAC,QAAQ,EAAE,QAAQ,EAAE,mBAAmB,CAAC,CAAC;QAEhG,MAAM,MAAM,GAAG,eAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC7C,IAAI,MAAM,EAAE;YACV,MAAM,aAAa,GAAG,eAAe,CAAC,gCAAgC,CACpE,MAAM,CAAC,KAAK,EACZ,QAAQ,EACR,+BAA+B,EAC/B,gCAAgC,CACjC,CAAC;YACF,OAAO,eAAe,CAAC,wBAAwB,CAAC,aAAa,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC;SAC7F;QAED,iIAAiI;QACjI,mFAAmF;QACnF,MAAM,yBAAyB,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACnE,IAAI,aAAa,GAAG,QAAQ,CAAC;QAE7B,IAAI,CAAC,yBAAyB,EAAE;YAC9B,aAAa,GAAG,eAAe,CAAC,gCAAgC,CAC9D,aAAK,CAAC,GAAG,EACT,QAAQ,EACR,+BAA+B,EAC/B,gCAAgC,CACjC,CAAC;SACH;QAED,IAAI,iBAAiB,GAAG,yBAAyB;YAC/C,CAAC,CAAC,yBAAyB;YAC3B,CAAC,CAAC,aAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC;QAEhC,IAAI,SAAG,CAAC,MAAM;YACZ,SAAG,CAAC,MAAM,CAAC,IAAI,CACb,qBAAqB,QAAQ,4BAA4B,iBAAiB,8BAA8B,CACzG,CAAC;QACJ,OAAO,eAAe,CAAC,8CAA8C,CACnE,aAAa,EACb,QAAQ,EACR,iBAAiB,CAClB,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,8CAA8C,CAC1D,QAAgB,EAChB,QAAgB,EAChB,iBAAyB;QAEzB,IAAI,CAAC,QAAQ;YAAE,MAAM,KAAK,CAAC,wCAAwC,CAAC,CAAC;QACrE,IAAI,CAAC,QAAQ;YAAE,MAAM,KAAK,CAAC,wCAAwC,CAAC,CAAC;QACrE,IAAI,CAAC,iBAAiB;YAAE,MAAM,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACvF,OAAO,QAAQ,CAAC,OAAO,CAAC,qBAAqB,EAAE,iBAAiB,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAClG,CAAC;IAEM,MAAM,CAAC,6BAA6B,CACzC,QAAgB,EAAE,oDAAoD;IACtE,QAAgB,EAChB,mBAA4B;QAE5B,IAAI,mBAAmB,EAAE;YACvB,OAAO,WAAW,mBAAmB,IAAI,QAAQ,EAAE,CAAC;SACrD;aAAM;YACL,MAAM,WAAW,GAAG,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,uBAAuB;YACrH,OAAO,WAAW,WAAW,IAAI,QAAQ,EAAE,CAAC;SAC7C;IACH,CAAC;IAEM,MAAM,CAAC,+BAA+B,CAC3C,QAAgB,EAChB,UAAe,EACf,WAAgB,EAChB,cAA2B;QAE3B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;YAAE,OAAO,QAAQ,CAAC;QAC9C,MAAM,kBAAkB,GAAG,cAAc,CAAC;QAC1C,IAAI,iBAAiB,CAAC;QACtB,IAAI,iBAAiB,GAAG,QAAQ,CAAC;QACjC,OAAO,CAAC,iBAAiB,GAAG,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE;YAC9D,IAAI,2BAA2B,GAAG,KAAK,CAAC;YACxC,IAAI,SAAS,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;YACrC,IAAI,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;gBACrE,2BAA2B,GAAG,IAAI,CAAC;gBACnC,SAAS,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;aACvE;YACD,IAAI,KAAK,GAAG,EAAE,CAAC;YACf,IAAI,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;gBACjC,KAAK,GAAG,eAAe,CAAC,uCAAuC,CAC7D,SAAS,EACT,UAAU,EACV,WAAW,CACZ,CAAC;aACH;YACD,IAAI,KAAK,EAAE;gBACT,IAAI,2BAA2B;oBAAE,KAAK,IAAI,GAAG,CAAC;gBAC9C,iBAAiB,GAAG,iBAAiB,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;aAC5E;iBAAM;gBACL,iBAAiB,GAAG,iBAAiB,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;aACzE;SACF;QACD,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAEO,MAAM,CAAC,uCAAuC,CACpD,aAAqB,EACrB,UAAe,EACf,WAAgB;QAEhB,IAAI,gBAAgB,GAAG,IAAI,aAAa,GAAG,CAAC;QAC5C,IAAI,UAAU,CAAC,gBAAgB,CAAC,IAAI,OAAO,UAAU,CAAC,gBAAgB,CAAC,KAAK,QAAQ;YAClF,OAAO,UAAU,CAAC,gBAAgB,CAAC,CAAC;QACtC,IAAI,WAAW,CAAC,aAAa,CAAC,IAAI,OAAO,WAAW,CAAC,aAAa,CAAC,KAAK,QAAQ;YAC9E,OAAO,WAAW,CAAC,aAAa,CAAC,CAAC;QACpC,OAAO,EAAE,CAAC;IACZ,CAAC;IAEO,MAAM,CAAC,4CAA4C;QACzD,IAAI,OAAO,CAAC,GAAG,CAAC,oDAAoD,KAAK,MAAM,EAAE;YAC/E,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,MAAM,KAAK,wBAAwB;QACzC,IAAI,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;QAChE,IAAI,KAAK,EAAE;YACT,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,MAAM;gBAAE,OAAO,IAAI,CAAC;YAChD,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,OAAO;gBAAE,OAAO,KAAK,CAAC;SACnD;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,MAAM,CAAC,gCAAgC,CAC5C,gBAAwB,EACxB,wBAA6C,EAC7C,6BAAsC;QAEtC,IAAI,aAAa,GAAG,MAAM,CAAC,qCAAqC,EAAE,GAAG,CAAC,CAAC;QACvE,IAAI,SAAS,GAAG,gBAAgB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACtD,IAAI,SAAS,EAAE;YACb,SAAS,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;gBACjC,IAAI,WAAW,GAAG,EAAE,CAAC;gBACrB,IAAI,kBAAkB,GAAG,cAAc,CAAC,SAAS,CAC/C,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAC/B,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAC5B,CAAC;gBACF,IAAI,mBAAmB,GAAG,cAAc,CAAC,SAAS,CAChD,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAC/B,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAC5B,CAAC;gBACF,oCAAoC;gBACpC,IAAI,cAAc,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;oBAC7C,IAAI,6BAA6B,EAAE;wBACjC,mGAAmG;wBACnG,IACE,wBAAwB,KAAK,KAAK;4BAClC,eAAe,CAAC,wBAAwB,KAAK,KAAK,EAClD;4BACA,WAAW,GAAG,mBAAmB,CAAC;yBACnC;6BAAM;4BACL,WAAW,GAAG,kBAAkB,CAAC;yBAClC;qBACF;yBAAM;wBACL,yGAAyG;wBACzG,IACE,wBAAwB,KAAK,IAAI;4BACjC,eAAe,CAAC,wBAAwB,KAAK,IAAI,EACjD;4BACA,WAAW,GAAG,kBAAkB,CAAC;yBAClC;6BAAM;4BACL,WAAW,GAAG,mBAAmB,CAAC;yBACnC;qBACF;iBACF;gBACD,gBAAgB,GAAG,gBAAgB,CAAC,OAAO,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;YAC3E,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,SAAG,CAAC,MAAM;YACZ,SAAG,CAAC,MAAM,CAAC,KAAK,CACd,SAAS,gBAAgB,kEAAkE,CAC5F,CAAC;QACJ,OAAO,gBAAgB,CAAC;IAC1B,CAAC;CACF;
|
|
1
|
+
{"version":3,"file":"endpoint-builder.js","sourceRoot":"","sources":["../../../../lib/endpoint-builder.ts"],"names":[],"mappings":"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"}
|
package/lib/request-generator.js
CHANGED
|
@@ -51,6 +51,7 @@ exports.composeRequest = composeRequest;
|
|
|
51
51
|
function computeUri(params) {
|
|
52
52
|
const path = validateAndComputePath(params.path, params.pathParams);
|
|
53
53
|
const queryString = stringify(params.queryParams);
|
|
54
|
+
validateEndpoint(params.baseEndpoint);
|
|
54
55
|
let uri = params.baseEndpoint + path;
|
|
55
56
|
if (queryString) {
|
|
56
57
|
uri = uri + "?" + queryString;
|
|
@@ -70,6 +71,21 @@ function validateAndComputePath(path, pathParams) {
|
|
|
70
71
|
}
|
|
71
72
|
return path;
|
|
72
73
|
}
|
|
74
|
+
function validateEndpoint(endpoint) {
|
|
75
|
+
let endpointUrl;
|
|
76
|
+
try {
|
|
77
|
+
endpointUrl = new URL(endpoint);
|
|
78
|
+
}
|
|
79
|
+
catch (e) {
|
|
80
|
+
throw Error(`host is invalid. ${endpoint}`);
|
|
81
|
+
}
|
|
82
|
+
if (endpointUrl.protocol !== "http:" && endpointUrl.protocol !== "https:") {
|
|
83
|
+
throw Error("host is invalid. endpoint scheme must be http or https");
|
|
84
|
+
}
|
|
85
|
+
if (endpointUrl.username || endpointUrl.password || endpointUrl.search || endpointUrl.hash) {
|
|
86
|
+
throw Error("host is invalid. endpoint must not contain user info, query, or fragment");
|
|
87
|
+
}
|
|
88
|
+
}
|
|
73
89
|
function computeHeaders(params) {
|
|
74
90
|
const headers = new Headers();
|
|
75
91
|
for (const [key, value] of Object.entries(params.defaultHeaders)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-generator.js","sourceRoot":"","sources":["../../../../lib/request-generator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"request-generator.js","sourceRoot":"","sources":["../../../../lib/request-generator.ts"],"names":[],"mappings":"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"}
|