oci-common 2.99.0 → 2.100.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/index.d.ts +2 -1
- package/index.js +3 -1
- package/index.js.map +1 -1
- package/lib/auth/X509-federation-client.d.ts +8 -1
- package/lib/auth/X509-federation-client.js +114 -57
- package/lib/auth/X509-federation-client.js.map +1 -1
- package/lib/auth/abstract-federation-client-authenticated-details-provider-builder.d.ts +2 -0
- package/lib/auth/abstract-federation-client-authenticated-details-provider-builder.js +5 -1
- package/lib/auth/abstract-federation-client-authenticated-details-provider-builder.js.map +1 -1
- package/lib/auth/abstract-requesting-authentication-detail-provider.d.ts +1 -0
- package/lib/auth/abstract-requesting-authentication-detail-provider.js +9 -0
- package/lib/auth/abstract-requesting-authentication-detail-provider.js.map +1 -1
- package/lib/circuit-breaker.d.ts +4 -0
- package/lib/circuit-breaker.js +20 -0
- package/lib/circuit-breaker.js.map +1 -1
- package/lib/retrier.js +2 -1
- package/lib/retrier.js.map +1 -1
- package/package.json +1 -1
package/index.d.ts
CHANGED
|
@@ -23,6 +23,7 @@ import { HttpRequest } from "./lib/http-request";
|
|
|
23
23
|
import InstancePrincipalsAuthenticationDetailsProviderBuilder from "./lib/auth/instance-principals-authentication-detail-provider";
|
|
24
24
|
import ResourcePrincipalAuthenticationDetailsProvider from "./lib/auth/resource-principal-authentication-details-provider";
|
|
25
25
|
import OkeWorkloadIdentityAuthenticationDetailsProvider from "./lib/auth/oke-workload-identity-authentication-details-provider";
|
|
26
|
+
import AbstractRequestingAuthenticationDetailsProvider from "./lib/auth/abstract-requesting-authentication-detail-provider";
|
|
26
27
|
import { BaseRequest } from "./lib/base-request";
|
|
27
28
|
import { ClientConfiguration } from "./lib/client-configuration";
|
|
28
29
|
import { paginateRecords, genericPaginateRecords, paginatedRecordsWithLimit, paginateResponses, genericPaginateResponses, paginatedResponsesWithLimit } from "./lib/paginators";
|
|
@@ -50,4 +51,4 @@ export import convertStringToType = helper.convertStringToType;
|
|
|
50
51
|
export import ObjectSerializer = serializer.ObjectSerializer;
|
|
51
52
|
export import byteLength = helper.byteLength;
|
|
52
53
|
export import Range = range.Range;
|
|
53
|
-
export { Region, Realm, EndpointBuilder, DelayStrategy, TerminationStrategy, ExponentialBackoffDelayStrategy, MaxTimeTerminationStrategy, genericWaiter, genericTerminalConditionWaiter, WaiterConfiguration, RequireOnlyOne, AuthParams, paginateRecords, paginatedResponsesWithLimit, paginatedRecordsWithLimit, genericPaginateRecords, paginateResponses, genericPaginateResponses, Method, composeRequest, Params, composeResponse, HttpRequest, ConfigFileAuthenticationDetailsProvider, SessionAuthDetailProvider, ConfigFileReader, InstancePrincipalsAuthenticationDetailsProviderBuilder, ResourcePrincipalAuthenticationDetailsProvider, LOG, GenericRetrier, FixedTimeDelayStrategy, MaxAttemptsTerminationStrategy, RetryConfiguration, NoRetryConfigurationDetails, OciSdkDefaultRetryConfiguration, BaseRequest, ClientConfiguration, Constants, CircuitBreaker, getChunk, utils, OkeWorkloadIdentityAuthenticationDetailsProvider, developerToolConfiguration };
|
|
54
|
+
export { Region, Realm, EndpointBuilder, DelayStrategy, TerminationStrategy, ExponentialBackoffDelayStrategy, MaxTimeTerminationStrategy, genericWaiter, genericTerminalConditionWaiter, WaiterConfiguration, RequireOnlyOne, AuthParams, paginateRecords, paginatedResponsesWithLimit, paginatedRecordsWithLimit, genericPaginateRecords, paginateResponses, genericPaginateResponses, Method, composeRequest, Params, composeResponse, HttpRequest, ConfigFileAuthenticationDetailsProvider, SessionAuthDetailProvider, ConfigFileReader, InstancePrincipalsAuthenticationDetailsProviderBuilder, ResourcePrincipalAuthenticationDetailsProvider, AbstractRequestingAuthenticationDetailsProvider, LOG, GenericRetrier, FixedTimeDelayStrategy, MaxAttemptsTerminationStrategy, RetryConfiguration, NoRetryConfigurationDetails, OciSdkDefaultRetryConfiguration, BaseRequest, ClientConfiguration, Constants, CircuitBreaker, getChunk, utils, OkeWorkloadIdentityAuthenticationDetailsProvider, developerToolConfiguration };
|
package/index.js
CHANGED
|
@@ -26,7 +26,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
26
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.developerToolConfiguration = exports.OkeWorkloadIdentityAuthenticationDetailsProvider = exports.utils = exports.getChunk = exports.CircuitBreaker = exports.Constants = exports.OciSdkDefaultRetryConfiguration = exports.NoRetryConfigurationDetails = exports.MaxAttemptsTerminationStrategy = exports.FixedTimeDelayStrategy = exports.GenericRetrier = exports.LOG = exports.ResourcePrincipalAuthenticationDetailsProvider = exports.InstancePrincipalsAuthenticationDetailsProviderBuilder = exports.ConfigFileReader = exports.SessionAuthDetailProvider = exports.ConfigFileAuthenticationDetailsProvider = exports.composeResponse = exports.composeRequest = exports.genericPaginateResponses = exports.paginateResponses = exports.genericPaginateRecords = exports.paginatedRecordsWithLimit = exports.paginatedResponsesWithLimit = exports.paginateRecords = exports.genericTerminalConditionWaiter = exports.genericWaiter = exports.MaxTimeTerminationStrategy = exports.ExponentialBackoffDelayStrategy = exports.EndpointBuilder = exports.Realm = exports.Region = exports.Range = exports.byteLength = exports.ObjectSerializer = exports.convertStringToType = exports.handleErrorBody = exports.mapContainer = exports.handleErrorResponse = exports.getStringFromResponseBody = exports.DefaultRequestSigner = exports.OciError = exports.FetchHttpClient = exports.isRegionProvider = exports.SimpleAuthenticationDetailsProvider = void 0;
|
|
29
|
+
exports.developerToolConfiguration = exports.OkeWorkloadIdentityAuthenticationDetailsProvider = exports.utils = exports.getChunk = exports.CircuitBreaker = exports.Constants = exports.OciSdkDefaultRetryConfiguration = exports.NoRetryConfigurationDetails = exports.MaxAttemptsTerminationStrategy = exports.FixedTimeDelayStrategy = exports.GenericRetrier = exports.LOG = exports.AbstractRequestingAuthenticationDetailsProvider = exports.ResourcePrincipalAuthenticationDetailsProvider = exports.InstancePrincipalsAuthenticationDetailsProviderBuilder = exports.ConfigFileReader = exports.SessionAuthDetailProvider = exports.ConfigFileAuthenticationDetailsProvider = exports.composeResponse = exports.composeRequest = exports.genericPaginateResponses = exports.paginateResponses = exports.genericPaginateRecords = exports.paginatedRecordsWithLimit = exports.paginatedResponsesWithLimit = exports.paginateRecords = exports.genericTerminalConditionWaiter = exports.genericWaiter = exports.MaxTimeTerminationStrategy = exports.ExponentialBackoffDelayStrategy = exports.EndpointBuilder = exports.Realm = exports.Region = exports.Range = exports.byteLength = exports.ObjectSerializer = exports.convertStringToType = exports.handleErrorBody = exports.mapContainer = exports.handleErrorResponse = exports.getStringFromResponseBody = exports.DefaultRequestSigner = exports.OciError = exports.FetchHttpClient = exports.isRegionProvider = exports.SimpleAuthenticationDetailsProvider = void 0;
|
|
30
30
|
const auth = __importStar(require("./lib/auth/auth"));
|
|
31
31
|
const error = __importStar(require("./lib/error"));
|
|
32
32
|
const signer = __importStar(require("./lib/signer"));
|
|
@@ -65,6 +65,8 @@ const resource_principal_authentication_details_provider_1 = __importDefault(req
|
|
|
65
65
|
exports.ResourcePrincipalAuthenticationDetailsProvider = resource_principal_authentication_details_provider_1.default;
|
|
66
66
|
const oke_workload_identity_authentication_details_provider_1 = __importDefault(require("./lib/auth/oke-workload-identity-authentication-details-provider"));
|
|
67
67
|
exports.OkeWorkloadIdentityAuthenticationDetailsProvider = oke_workload_identity_authentication_details_provider_1.default;
|
|
68
|
+
const abstract_requesting_authentication_detail_provider_1 = __importDefault(require("./lib/auth/abstract-requesting-authentication-detail-provider"));
|
|
69
|
+
exports.AbstractRequestingAuthenticationDetailsProvider = abstract_requesting_authentication_detail_provider_1.default;
|
|
68
70
|
const paginators_1 = require("./lib/paginators");
|
|
69
71
|
Object.defineProperty(exports, "paginateRecords", { enumerable: true, get: function () { return paginators_1.paginateRecords; } });
|
|
70
72
|
Object.defineProperty(exports, "genericPaginateRecords", { enumerable: true, get: function () { return paginators_1.genericPaginateRecords; } });
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,sDAAwC;AACxC,mDAAqC;AACrC,qDAAuC;AACvC,qDAAuC;AACvC,iDAAmC;AACnC,oEAAsD;AACtD,mDAAqC;AACrC,mDAAqC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,sDAAwC;AACxC,mDAAqC;AACrC,qDAAuC;AACvC,qDAAuC;AACvC,iDAAmC;AACnC,oEAAsD;AACtD,mDAAqC;AACrC,mDAAqC;AAkHnC,sBAAK;AAjHP,yCAAsC;AAwEpC,uFAxEO,eAAM,OAwEP;AAvER,uCAAoC;AAwElC,sFAxEO,aAAK,OAwEP;AAvEP,6DAAyD;AAwEvD,gGAxEO,kCAAe,OAwEP;AAvEjB,mCAAgC;AAkG9B,oFAlGO,SAAG,OAkGP;AAjGL,gEAAwC;AA0GtC,oBA1GK,mBAAS,CA0GL;AAzGX,4EAAmD;AA0GjD,yBA1GK,yBAAc,CA0GL;AAxGhB,yCAUsB;AA4DpB,gHAnEA,wCAA+B,OAmEA;AAC/B,2GAnEA,mCAA0B,OAmEA;AAC1B,8FAnEA,sBAAa,OAmEA;AACb,+GAnEA,uCAA8B,OAmEA;AAwB9B,+GAzFA,uCAA8B,OAyFA;AAD9B,uGAvFA,+BAAsB,OAuFA;AArFxB,2CAKuB;AA+ErB,+FAnFA,wBAAc,OAmFA;AAId,4GArFA,qCAA2B,OAqFA;AAC3B,gHArFA,yCAA+B,OAqFA;AAjFjC,uJAAmI;AAwEjI,iEAxEK,4DAAsD,CAwEL;AAvExD,uJAA2H;AAwEzH,yDAxEK,4DAA8C,CAwEL;AAvEhD,6JAAgI;AAsF9H,2DAtFK,+DAAgD,CAsFL;AArFlD,uJAA4H;AAuE1H,0DAvEK,4DAA+C,CAuEL;AApEjD,iDAO0B;AA6CxB,gGAnDA,4BAAe,OAmDA;AAGf,uGArDA,mCAAsB,OAqDA;AADtB,0GAnDA,sCAAyB,OAmDA;AAEzB,kGApDA,8BAAiB,OAoDA;AACjB,yGApDA,qCAAwB,OAoDA;AAJxB,4GA/CA,wCAA2B,OA+CA;AA5C7B,kEAAsF;AAsDpF,wHAtDO,0DAAuC,OAsDP;AArDzC,4FAAqF;AAsDnF,0GAtDO,yDAAyB,OAsDP;AArD3B,4DAAqC;AAqEnC,mBArEK,iBAAQ,CAqEL;AApEV,iEAA4D;AAqD1D,iGArDO,qCAAgB,OAqDP;AApDlB,+DAAyE;AA8CvE,+FA9Ce,kCAAc,OA8Cf;AA7ChB,iEAA2D;AA+CzD,gGA/CO,oCAAe,OA+CP;AA9CjB,6FAA+E;AAoE7E,gEAA0B;AAlEd,QAAA,mCAAmC,GAAG,IAAI,CAAC,mCAAmC,CAAC;AAE/E,QAAA,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;AAGzC,QAAA,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;AAEvC,QAAA,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;AAG1B,QAAA,oBAAoB,GAAG,MAAM,CAAC,oBAAoB,CAAC;AAEnD,QAAA,yBAAyB,GAAG,MAAM,CAAC,yBAAyB,CAAC;AAC7D,QAAA,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAC;AACjD,QAAA,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;AACnC,QAAA,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;AACzC,QAAA,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAC;AACjD,QAAA,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,CAAC;AAC/C,QAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AAE/B,QAAA,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC"}
|
|
@@ -6,6 +6,7 @@ import FederationClient from "./models/federation-client";
|
|
|
6
6
|
import SessionKeySupplier from "./models/session-key-supplier";
|
|
7
7
|
import X509CertificateSupplier from "./models/X509-certificate-supplier";
|
|
8
8
|
import SecurityTokenAdapter from "./security-token-adapter";
|
|
9
|
+
import { FetchHttpClient } from "../http";
|
|
9
10
|
import CircuitBreaker from "../circuit-breaker";
|
|
10
11
|
export default class X509FederationClient implements FederationClient {
|
|
11
12
|
private federationEndpoint;
|
|
@@ -16,10 +17,15 @@ export default class X509FederationClient implements FederationClient {
|
|
|
16
17
|
private purpose;
|
|
17
18
|
private circuitBreaker;
|
|
18
19
|
securityTokenAdapter: SecurityTokenAdapter;
|
|
19
|
-
private
|
|
20
|
+
private _circuitBreaker;
|
|
21
|
+
private static DEFAULT_AUTH_MAX_RETRY_COUNT;
|
|
22
|
+
private static DEFAULT_AUTH_MAX_DELAY_IN_SECONDS;
|
|
23
|
+
private static defaultAuthRetryConfiguration;
|
|
24
|
+
httpClient: FetchHttpClient;
|
|
20
25
|
constructor(federationEndpoint: string, _tenancyId: string, _leafCertificateSupplier: X509CertificateSupplier, sessionKeySupplier: SessionKeySupplier, intermediateCertificateSuppliers: X509CertificateSupplier[], purpose: string, circuitBreaker: CircuitBreaker);
|
|
21
26
|
get tenancyId(): string;
|
|
22
27
|
get leafCertificateSupplier(): X509CertificateSupplier;
|
|
28
|
+
close(): void;
|
|
23
29
|
/**
|
|
24
30
|
* Gets a security token. If there is already a valid token cached, it will be returned. Else this will make a call
|
|
25
31
|
* to the auth service to get a new token, using the provided suppliers.
|
|
@@ -42,4 +48,5 @@ export default class X509FederationClient implements FederationClient {
|
|
|
42
48
|
* @return the security token, which is basically a JWT token string
|
|
43
49
|
*/
|
|
44
50
|
private getSecurityTokenFromServer;
|
|
51
|
+
private getTokenAsync;
|
|
45
52
|
}
|
|
@@ -24,11 +24,15 @@ const auth_utils_1 = __importDefault(require("./helpers/auth-utils"));
|
|
|
24
24
|
const signer_1 = require("../signer");
|
|
25
25
|
const http_1 = require("../http");
|
|
26
26
|
const helper_1 = require("../helper");
|
|
27
|
+
const circuit_breaker_1 = __importDefault(require("../circuit-breaker"));
|
|
28
|
+
const waiter_1 = require("../waiter");
|
|
29
|
+
const Breaker = require("opossum");
|
|
27
30
|
/**
|
|
28
31
|
* This class gets a security token from the auth service by signing the request with a PKI issued leaf certificate,
|
|
29
32
|
* passing along a temporary public key that is bounded to the the security token, and the leaf certificate.
|
|
30
33
|
*/
|
|
31
34
|
const INSTANCE_PRINCIPAL_GENERIC_ERROR = "Instance principals authentication can only be used on OCI compute instances. Please confirm this code is running on an OCI compute instance. See https://docs.oracle.com/en-us/iaas/Content/Identity/Tasks/callingservicesfrominstances.htm for more info.";
|
|
35
|
+
const AUTH_TOKEN_GENERIC_ERROR = "Failed to fetch the token from auth server";
|
|
32
36
|
class X509FederationClient {
|
|
33
37
|
constructor(federationEndpoint, _tenancyId, _leafCertificateSupplier, sessionKeySupplier, intermediateCertificateSuppliers, purpose, circuitBreaker) {
|
|
34
38
|
this.federationEndpoint = federationEndpoint;
|
|
@@ -38,8 +42,16 @@ class X509FederationClient {
|
|
|
38
42
|
this.intermediateCertificateSuppliers = intermediateCertificateSuppliers;
|
|
39
43
|
this.purpose = purpose;
|
|
40
44
|
this.circuitBreaker = circuitBreaker;
|
|
41
|
-
this.
|
|
45
|
+
this._circuitBreaker = null;
|
|
46
|
+
if (this.circuitBreaker) {
|
|
47
|
+
this._circuitBreaker = this.circuitBreaker.circuit;
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
this._circuitBreaker = new circuit_breaker_1.default(circuit_breaker_1.default.defaultAuthConfiguration).circuit;
|
|
51
|
+
}
|
|
42
52
|
this.securityTokenAdapter = new security_token_adapter_1.default("", this.sessionKeySupplier);
|
|
53
|
+
const signer = new AuthTokenRequestSigner(this);
|
|
54
|
+
this.httpClient = new http_1.FetchHttpClient(signer, this._circuitBreaker);
|
|
43
55
|
}
|
|
44
56
|
// Getter for tenancyId
|
|
45
57
|
get tenancyId() {
|
|
@@ -49,6 +61,12 @@ class X509FederationClient {
|
|
|
49
61
|
get leafCertificateSupplier() {
|
|
50
62
|
return this._leafCertificateSupplier;
|
|
51
63
|
}
|
|
64
|
+
close() {
|
|
65
|
+
if (this._circuitBreaker) {
|
|
66
|
+
console.log("Shutting down the circuit breaker for the X509FederationClient");
|
|
67
|
+
this._circuitBreaker.shutdown();
|
|
68
|
+
}
|
|
69
|
+
}
|
|
52
70
|
/**
|
|
53
71
|
* Gets a security token. If there is already a valid token cached, it will be returned. Else this will make a call
|
|
54
72
|
* to the auth service to get a new token, using the provided suppliers.
|
|
@@ -125,6 +143,54 @@ class X509FederationClient {
|
|
|
125
143
|
* @return the security token, which is basically a JWT token string
|
|
126
144
|
*/
|
|
127
145
|
getSecurityTokenFromServer() {
|
|
146
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
147
|
+
let response;
|
|
148
|
+
let lastKnownError;
|
|
149
|
+
const waitContext = new waiter_1.WaitContextImpl();
|
|
150
|
+
const { terminationStrategy, delayStrategy } = Object.assign({}, X509FederationClient.defaultAuthRetryConfiguration);
|
|
151
|
+
while (true) {
|
|
152
|
+
try {
|
|
153
|
+
response = yield this.getTokenAsync();
|
|
154
|
+
// Do not retry if the response is successful, or response status is 4XX
|
|
155
|
+
if (response.status == 200)
|
|
156
|
+
break;
|
|
157
|
+
lastKnownError = `${AUTH_TOKEN_GENERIC_ERROR}. Response received but failed with status: ${response.status}`;
|
|
158
|
+
console.log(lastKnownError);
|
|
159
|
+
if (response.status >= 400 && response.status < 500)
|
|
160
|
+
break;
|
|
161
|
+
if (terminationStrategy.shouldTerminate(waitContext)) {
|
|
162
|
+
console.log("Retry attempts exhausted! Not retrying");
|
|
163
|
+
break;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
catch (e) {
|
|
167
|
+
lastKnownError = `${AUTH_TOKEN_GENERIC_ERROR}. Failed with error: ${e}`;
|
|
168
|
+
console.log(lastKnownError);
|
|
169
|
+
if (waitContext.attemptCount < X509FederationClient.DEFAULT_AUTH_MAX_RETRY_COUNT - 1) {
|
|
170
|
+
console.log(`Retrying the request...`);
|
|
171
|
+
}
|
|
172
|
+
else {
|
|
173
|
+
console.log("Retry attempts exhausted! Not retrying");
|
|
174
|
+
break;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
yield waiter_1.delay(delayStrategy.delay(waitContext));
|
|
178
|
+
waitContext.attemptCount++;
|
|
179
|
+
}
|
|
180
|
+
if (response !== undefined && response.status === 200) {
|
|
181
|
+
const securityToken = yield response.json();
|
|
182
|
+
return new security_token_adapter_1.default(securityToken.token, this.sessionKeySupplier);
|
|
183
|
+
}
|
|
184
|
+
let error = {
|
|
185
|
+
// to prevent retries on top of retries from service call
|
|
186
|
+
shouldBeRetried: false,
|
|
187
|
+
code: -1,
|
|
188
|
+
message: lastKnownError
|
|
189
|
+
};
|
|
190
|
+
throw error;
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
getTokenAsync() {
|
|
128
194
|
return __awaiter(this, void 0, void 0, function* () {
|
|
129
195
|
const keyPair = this.sessionKeySupplier.getKeyPair();
|
|
130
196
|
if (!keyPair) {
|
|
@@ -145,72 +211,63 @@ class X509FederationClient {
|
|
|
145
211
|
if (!certificateAndKeyPair.getPrivateKey()) {
|
|
146
212
|
throw Error("Leaf certificate's private key is not present");
|
|
147
213
|
}
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
if (supplierCertificateAndKeyPair && supplierCertificateAndKeyPair.getCertificate()) {
|
|
155
|
-
intermediateStrings.push(auth_utils_1.default.sanitizeCertificateString(supplierCertificateAndKeyPair.getCertificate().toString("pem")));
|
|
156
|
-
}
|
|
157
|
-
});
|
|
158
|
-
}
|
|
159
|
-
// Create request body and call auth service.
|
|
160
|
-
const url = this.federationEndpoint + "/v1/x509";
|
|
161
|
-
const requestPayload = {
|
|
162
|
-
certificate: auth_utils_1.default.sanitizeCertificateString(leafCertificate.toString("pem")),
|
|
163
|
-
purpose: this.purpose,
|
|
164
|
-
publicKey: auth_utils_1.default.sanitizeCertificateString(publicKey),
|
|
165
|
-
intermediateCertificates: intermediateStrings
|
|
166
|
-
};
|
|
167
|
-
let jsonPayload = JSON.stringify(requestPayload);
|
|
168
|
-
jsonPayload = jsonPayload.replace(/\\n/g, "");
|
|
169
|
-
const requestObj = {
|
|
170
|
-
uri: url,
|
|
171
|
-
body: jsonPayload,
|
|
172
|
-
method: "POST",
|
|
173
|
-
headers: new Headers()
|
|
174
|
-
};
|
|
175
|
-
const fingerprint = leafCertificate.fingerprint("sha1").toString("hex");
|
|
176
|
-
const privateKey = certificateAndKeyPair.getPrivateKey();
|
|
177
|
-
// Instantiate AuthTokenRequestSigner to sign the request
|
|
178
|
-
const signer = new AuthTokenRequestSigner(this.tenancyId, fingerprint, privateKey);
|
|
179
|
-
const httpClient = new http_1.FetchHttpClient(signer, this.circuitBreaker);
|
|
180
|
-
// Call Auth Service to get a JSON object which contains the auth token
|
|
181
|
-
const response = yield httpClient.send(requestObj);
|
|
182
|
-
//TODO: Implement retry here
|
|
183
|
-
// retry here
|
|
184
|
-
if (response.status !== 200) {
|
|
185
|
-
if (this.retry < 3) {
|
|
186
|
-
this.retry += 1;
|
|
187
|
-
return yield this.getSecurityTokenFromServer();
|
|
188
|
-
}
|
|
189
|
-
else {
|
|
190
|
-
throw Error(`Failed to call auth service for token, error: ${response}. ${INSTANCE_PRINCIPAL_GENERIC_ERROR}`);
|
|
214
|
+
let intermediateStrings = [];
|
|
215
|
+
if (this.intermediateCertificateSuppliers && this.intermediateCertificateSuppliers.length > 0) {
|
|
216
|
+
this.intermediateCertificateSuppliers.forEach((supplier) => {
|
|
217
|
+
const supplierCertificateAndKeyPair = supplier.getCertificateAndKeyPair();
|
|
218
|
+
if (supplierCertificateAndKeyPair && supplierCertificateAndKeyPair.getCertificate()) {
|
|
219
|
+
intermediateStrings.push(auth_utils_1.default.sanitizeCertificateString(supplierCertificateAndKeyPair.getCertificate().toString("pem")));
|
|
191
220
|
}
|
|
192
|
-
}
|
|
193
|
-
this.retry = 0;
|
|
194
|
-
const securityToken = yield response.json();
|
|
195
|
-
return new security_token_adapter_1.default(securityToken.token, this.sessionKeySupplier);
|
|
196
|
-
}
|
|
197
|
-
catch (e) {
|
|
198
|
-
throw Error(`Failed to call call Auth service, error: ${e}. ${INSTANCE_PRINCIPAL_GENERIC_ERROR}`);
|
|
221
|
+
});
|
|
199
222
|
}
|
|
223
|
+
// Create request body and call auth service.
|
|
224
|
+
const url = this.federationEndpoint + "/v1/x509";
|
|
225
|
+
const requestPayload = {
|
|
226
|
+
certificate: auth_utils_1.default.sanitizeCertificateString(leafCertificate.toString("pem")),
|
|
227
|
+
purpose: this.purpose,
|
|
228
|
+
publicKey: auth_utils_1.default.sanitizeCertificateString(publicKey),
|
|
229
|
+
intermediateCertificates: intermediateStrings
|
|
230
|
+
};
|
|
231
|
+
let jsonPayload = JSON.stringify(requestPayload);
|
|
232
|
+
jsonPayload = jsonPayload.replace(/\\n/g, "");
|
|
233
|
+
const requestObj = {
|
|
234
|
+
uri: url,
|
|
235
|
+
body: jsonPayload,
|
|
236
|
+
method: "POST",
|
|
237
|
+
headers: new Headers()
|
|
238
|
+
};
|
|
239
|
+
const fingerprint = leafCertificate.fingerprint("sha1").toString("hex");
|
|
240
|
+
const privateKey = certificateAndKeyPair.getPrivateKey();
|
|
241
|
+
// Instantiate AuthTokenRequestSigner to sign the request
|
|
242
|
+
// Call Auth Service to get a JSON object which contains the auth token
|
|
243
|
+
const response = this.httpClient.send(requestObj);
|
|
244
|
+
return response;
|
|
200
245
|
});
|
|
201
246
|
}
|
|
202
247
|
}
|
|
203
248
|
exports.default = X509FederationClient;
|
|
249
|
+
X509FederationClient.DEFAULT_AUTH_MAX_RETRY_COUNT = 3;
|
|
250
|
+
X509FederationClient.DEFAULT_AUTH_MAX_DELAY_IN_SECONDS = 1;
|
|
251
|
+
X509FederationClient.defaultAuthRetryConfiguration = {
|
|
252
|
+
terminationStrategy: new waiter_1.MaxAttemptsTerminationStrategy(X509FederationClient.DEFAULT_AUTH_MAX_RETRY_COUNT),
|
|
253
|
+
delayStrategy: new waiter_1.ExponentialBackoffDelayStrategyWithJitter(X509FederationClient.DEFAULT_AUTH_MAX_DELAY_IN_SECONDS)
|
|
254
|
+
};
|
|
204
255
|
// A Signer class for FederationClient
|
|
205
256
|
class AuthTokenRequestSigner {
|
|
206
|
-
constructor(
|
|
207
|
-
this.
|
|
208
|
-
this.fingerprint = fingerprint;
|
|
209
|
-
this.privateKey = privateKey;
|
|
257
|
+
constructor(federationClient) {
|
|
258
|
+
this.federationClient = federationClient;
|
|
210
259
|
}
|
|
211
260
|
signHttpRequest(request, forceExcludeBody = false) {
|
|
212
261
|
return __awaiter(this, void 0, void 0, function* () {
|
|
213
|
-
const
|
|
262
|
+
const tenancyId = this.federationClient.tenancyId;
|
|
263
|
+
const certificateAndKeyPair = this.federationClient.leafCertificateSupplier.getCertificateAndKeyPair();
|
|
264
|
+
if (!certificateAndKeyPair) {
|
|
265
|
+
throw Error("Certificate and key pair are not present");
|
|
266
|
+
}
|
|
267
|
+
const leafCertificate = certificateAndKeyPair.getCertificate();
|
|
268
|
+
const fingerprint = leafCertificate.fingerprint("sha1").toString("hex");
|
|
269
|
+
const privateKey = certificateAndKeyPair.getPrivateKey();
|
|
270
|
+
const apiKey = `${tenancyId}/fed-x509/${fingerprint}`;
|
|
214
271
|
const headersToSign = [
|
|
215
272
|
"date",
|
|
216
273
|
"(request-target)",
|
|
@@ -251,7 +308,7 @@ class AuthTokenRequestSigner {
|
|
|
251
308
|
request.headers.set("Content-Length", `${contentLen}`);
|
|
252
309
|
}
|
|
253
310
|
httpSignature.sign(new signer_1.SignerRequest(request.method, request.uri, request.headers), {
|
|
254
|
-
key:
|
|
311
|
+
key: privateKey.toBuffer("pem", {}),
|
|
255
312
|
keyId: apiKey,
|
|
256
313
|
headers: headersToSign
|
|
257
314
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"X509-federation-client.js","sourceRoot":"","sources":["../../../../../lib/auth/X509-federation-client.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;AAEH,iCAAkC;AAClC,MAAM,aAAa,GAAQ,OAAO,CAAC,gBAAgB,CAAC,CAAC;AACrD,+BAAgC;AAIhC,sFAA4D;AAC5D,sEAA6C;AAG7C,sCAA0C;AAC1C,kCAA0C;AAE1C,sCAAqD;
|
|
1
|
+
{"version":3,"file":"X509-federation-client.js","sourceRoot":"","sources":["../../../../../lib/auth/X509-federation-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,11 +24,13 @@ export default abstract class AbstractFederationClientAuthenticationDetailsProvi
|
|
|
24
24
|
protected _federationClient: FederationClient;
|
|
25
25
|
protected _intermediateCertificateSuppliers: X509CertificateSupplier[];
|
|
26
26
|
protected _circuitBreaker: any;
|
|
27
|
+
protected _authCircuitBreaker: CircuitBreaker;
|
|
27
28
|
get metadataBaseUrl(): string;
|
|
28
29
|
get federationEndpoint(): string;
|
|
29
30
|
get leafCertificateSupplier(): X509CertificateSupplier;
|
|
30
31
|
get tenancyId(): string;
|
|
31
32
|
get circuitBreaker(): CircuitBreaker;
|
|
33
|
+
get authCircuitBreaker(): CircuitBreaker;
|
|
32
34
|
getRegion(): Region;
|
|
33
35
|
set metadataBaseUrl(metadataBaseUrl: string);
|
|
34
36
|
set federationEndpoint(federationEndpoint: string);
|
|
@@ -54,6 +54,7 @@ class AbstractFederationClientAuthenticationDetailsProviderBuilder {
|
|
|
54
54
|
errorThresholdPercentage: 50,
|
|
55
55
|
resetTimeout: 30000 // After 30 seconds, try again.
|
|
56
56
|
}).circuit;
|
|
57
|
+
this._authCircuitBreaker = new circuit_breaker_1.default(circuit_breaker_1.default.defaultAuthConfiguration);
|
|
57
58
|
}
|
|
58
59
|
// metadataBaseUrl getter
|
|
59
60
|
get metadataBaseUrl() {
|
|
@@ -74,6 +75,9 @@ class AbstractFederationClientAuthenticationDetailsProviderBuilder {
|
|
|
74
75
|
get circuitBreaker() {
|
|
75
76
|
return this._circuitBreaker;
|
|
76
77
|
}
|
|
78
|
+
get authCircuitBreaker() {
|
|
79
|
+
return this._authCircuitBreaker;
|
|
80
|
+
}
|
|
77
81
|
// region getter
|
|
78
82
|
getRegion() {
|
|
79
83
|
return this.region;
|
|
@@ -128,7 +132,7 @@ class AbstractFederationClientAuthenticationDetailsProviderBuilder {
|
|
|
128
132
|
* @return Federation Client
|
|
129
133
|
*/
|
|
130
134
|
createFederationClient(sessionKeySupplier) {
|
|
131
|
-
return new X509_federation_client_1.default(this._federationEndpoint, this._tenancyId, this._leafCertificateSupplier, sessionKeySupplier, this._intermediateCertificateSuppliers, this._purpose, this.
|
|
135
|
+
return new X509_federation_client_1.default(this._federationEndpoint, this._tenancyId, this._leafCertificateSupplier, sessionKeySupplier, this._intermediateCertificateSuppliers, this._purpose, this.authCircuitBreaker);
|
|
132
136
|
}
|
|
133
137
|
/**
|
|
134
138
|
* Auto-detect endpoint and certificate information using Instance metadata.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abstract-federation-client-authenticated-details-provider-builder.js","sourceRoot":"","sources":["../../../../../lib/auth/abstract-federation-client-authenticated-details-provider-builder.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;AAEH;;;;GAIG;AAEH,0DAAsD;AACtD,kCAA0C;AAG1C,sCAAmC;AACnC,oCAAiC;AACjC,sEAA6C;AAG7C,sFAA4D;AAC5D,kFAA4D;AAC5D,+FAG+C;AAC/C,yEAAgD;AAChD,gCAA6B;AAE7B,MAAM,gCAAgC,GACpC,6PAA6P,CAAC;AAEhQ,MAA8B,4DAA4D;IAA1F;QAIE,iCAAiC;QACvB,aAAQ,GAAG,2CAA2C,CAAC;QAEjE,wCAAwC;QAC9B,8BAAyB,GAAG,gCAAgC,CAAC;QAEvE,kFAAkF;QAC1E,0BAAqB,GAAG,eAAe,CAAC;QACxC,kBAAa,GAAG,eAAe,CAAC;QAExC,gCAAgC;QACtB,qBAAgB,GAAG,IAAI,CAAC,yBAAyB,CAAC;QAE5D,+BAA+B;QACrB,wBAAmB,GAAW,EAAE,CAAC;QAK3C,mEAAmE;QACzD,eAAU,GAAW,EAAE,CAAC;QAElC,0GAA0G;QAClG,aAAQ,GAAW,SAAS,CAAC;QAc3B,oBAAe,GAAG,IAAI,yBAAc,CAAC;YAC7C,OAAO,EAAE,KAAK;YACd,wBAAwB,EAAE,EAAE;YAC5B,YAAY,EAAE,KAAK,CAAC,+BAA+B;SACpD,CAAC,CAAC,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"abstract-federation-client-authenticated-details-provider-builder.js","sourceRoot":"","sources":["../../../../../lib/auth/abstract-federation-client-authenticated-details-provider-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,11 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
12
12
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
13
13
|
});
|
|
14
14
|
};
|
|
15
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
16
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
17
|
+
};
|
|
15
18
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
+
const X509_federation_client_1 = __importDefault(require("./X509-federation-client"));
|
|
16
20
|
/**
|
|
17
21
|
* Base class for authentication details providers that make remote requests.
|
|
18
22
|
*/
|
|
@@ -32,6 +36,11 @@ class AbstractRequestingAuthenticationDetailsProvider {
|
|
|
32
36
|
getPassphrase() {
|
|
33
37
|
return null;
|
|
34
38
|
}
|
|
39
|
+
closeProvider() {
|
|
40
|
+
if (this.federationClient instanceof X509_federation_client_1.default) {
|
|
41
|
+
this.federationClient.close();
|
|
42
|
+
}
|
|
43
|
+
}
|
|
35
44
|
}
|
|
36
45
|
exports.default = AbstractRequestingAuthenticationDetailsProvider;
|
|
37
46
|
//# sourceMappingURL=abstract-requesting-authentication-detail-provider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abstract-requesting-authentication-detail-provider.js","sourceRoot":"","sources":["../../../../../lib/auth/abstract-requesting-authentication-detail-provider.ts"],"names":[],"mappings":";AAAA;;;GAGG
|
|
1
|
+
{"version":3,"file":"abstract-requesting-authentication-detail-provider.js","sourceRoot":"","sources":["../../../../../lib/auth/abstract-requesting-authentication-detail-provider.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;AAKH,sFAA4D;AAE5D;;GAEG;AACH,MAA8B,+CAA+C;IAE3E,YACY,gBAAkC,EAClC,kBAAsC;QADtC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,uBAAkB,GAAlB,kBAAkB,CAAoB;IAC/C,CAAC;IAEE,QAAQ;;YACZ,OAAO,KAAK,GAAG,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,CAAC,CAAC;QAClE,CAAC;KAAA;IAED,aAAa;QACX,OAAO,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,CAAC,UAAU,EAAE,CAAC;IAC3D,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IAED,aAAa;QACX,IAAI,IAAI,CAAC,gBAAgB,YAAY,gCAAoB,EAAE;YAClC,IAAI,CAAC,gBAAiB,CAAC,KAAK,EAAE,CAAC;SACvD;IACH,CAAC;CACF;AAxBD,kEAwBC"}
|
package/lib/circuit-breaker.d.ts
CHANGED
|
@@ -26,6 +26,10 @@ export default class CircuitBreaker {
|
|
|
26
26
|
static EnableDefaultCircuitBreaker: string | undefined;
|
|
27
27
|
static DefaultCircuitBreakerOverriden: boolean;
|
|
28
28
|
private static DefaultConfiguration;
|
|
29
|
+
private static MIN_WAIT_DURATION_IN_OPEN_STATE_FOR_AUTH_CLIENT_CB;
|
|
30
|
+
private static MAX_WAIT_DURATION_IN_OPEN_STATE_FOR_AUTH_CLIENT_CB;
|
|
31
|
+
static DefaultAuthConfiguration: CircuitBreakerOptions;
|
|
32
|
+
static get defaultAuthConfiguration(): CircuitBreakerOptions;
|
|
29
33
|
static get defaultConfiguration(): CircuitBreakerOptions;
|
|
30
34
|
static set defaultConfiguration(circuitBreakerConfig: CircuitBreakerOptions);
|
|
31
35
|
constructor(options?: CircuitBreakerOptions);
|
package/lib/circuit-breaker.js
CHANGED
|
@@ -89,6 +89,9 @@ class CircuitBreaker {
|
|
|
89
89
|
}
|
|
90
90
|
return process.env.OCI_SDK_DEFAULT_CIRCUITBREAKER_ENABLED;
|
|
91
91
|
}
|
|
92
|
+
static get defaultAuthConfiguration() {
|
|
93
|
+
return CircuitBreaker.DefaultAuthConfiguration;
|
|
94
|
+
}
|
|
92
95
|
static get defaultConfiguration() {
|
|
93
96
|
return CircuitBreaker.DefaultConfiguration;
|
|
94
97
|
}
|
|
@@ -110,4 +113,21 @@ CircuitBreaker.DefaultConfiguration = {
|
|
|
110
113
|
volumeThreshold: 10,
|
|
111
114
|
errorFilter: defaultErrorFilterFunction
|
|
112
115
|
};
|
|
116
|
+
CircuitBreaker.MIN_WAIT_DURATION_IN_OPEN_STATE_FOR_AUTH_CLIENT_CB = 30;
|
|
117
|
+
CircuitBreaker.MAX_WAIT_DURATION_IN_OPEN_STATE_FOR_AUTH_CLIENT_CB = 49;
|
|
118
|
+
CircuitBreaker.DefaultAuthConfiguration = {
|
|
119
|
+
timeout: 60000,
|
|
120
|
+
errorThresholdPercentage: 65,
|
|
121
|
+
resetTimeout: Math.floor(Math.random() *
|
|
122
|
+
(CircuitBreaker.MAX_WAIT_DURATION_IN_OPEN_STATE_FOR_AUTH_CLIENT_CB -
|
|
123
|
+
CircuitBreaker.MIN_WAIT_DURATION_IN_OPEN_STATE_FOR_AUTH_CLIENT_CB +
|
|
124
|
+
1) +
|
|
125
|
+
CircuitBreaker.MIN_WAIT_DURATION_IN_OPEN_STATE_FOR_AUTH_CLIENT_CB) * 1000,
|
|
126
|
+
rollingCountTimeout: 120000,
|
|
127
|
+
rollingCountBuckets: 120,
|
|
128
|
+
volumeThreshold: 3,
|
|
129
|
+
errorFilter: (e) => {
|
|
130
|
+
return false;
|
|
131
|
+
} // Treat all exceptions as failure
|
|
132
|
+
};
|
|
113
133
|
//# sourceMappingURL=circuit-breaker.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"circuit-breaker.js","sourceRoot":"","sources":["../../../../lib/circuit-breaker.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;AAEH,qCAAgE;AAChE,uCAAkD;AAClD,+BAA4B;AAE5B,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AAEnC,SAAe,YAAY,CACzB,GAAgB,EAChB,OAAgC,EAChC,aAAqB,EACrB,aAAqB,EACrB,SAAiB,EACjB,QAAgB,EAChB,gBAAwB;;QAExB,OAAO,IAAI,OAAO,CAAC,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,IAAI;gBACF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;gBAC3C,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,EAAE;oBACvE,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;iBACvB;qBAAM;oBACL,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;oBACvC,MAAM,OAAO,GAAG,MAAM,wBAAe,CAAC,aAAa,CAAC,CAAC;oBACrD,MAAM,WAAW,GAAG,4BAAmB,CACrC,aAAa,EACb,OAAO,EACP,aAAa,EACb,aAAa,EACb,SAAS,EACT,QAAQ,EACR,gBAAgB,CACjB,CAAC;oBACF,MAAM,CAAC;wBACL,QAAQ;wBACR,WAAW;qBACZ,CAAC,CAAC;iBACJ;aACF;YAAC,OAAO,CAAC,EAAE;gBACV,8DAA8D;gBAC9D,MAAM,CAAC,CAAC,CAAC,CAAC;aACX;QACH,CAAC,CAAA,CAAC,CAAC;IACL,CAAC;CAAA;AAED,SAAS,0BAA0B,CAAC,CAAM;IACxC,IAAI,SAAG,CAAC,MAAM;QAAE,SAAG,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE,CAAC,CAAC,CAAC;IACzE,+DAA+D;IAC/D,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,IAAI,+BAAqB,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE;QACrF,OAAO,KAAK,CAAC;KACd;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAoBD,MAAqB,cAAc;
|
|
1
|
+
{"version":3,"file":"circuit-breaker.js","sourceRoot":"","sources":["../../../../lib/circuit-breaker.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;AAEH,qCAAgE;AAChE,uCAAkD;AAClD,+BAA4B;AAE5B,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AAEnC,SAAe,YAAY,CACzB,GAAgB,EAChB,OAAgC,EAChC,aAAqB,EACrB,aAAqB,EACrB,SAAiB,EACjB,QAAgB,EAChB,gBAAwB;;QAExB,OAAO,IAAI,OAAO,CAAC,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,IAAI;gBACF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;gBAC3C,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,EAAE;oBACvE,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;iBACvB;qBAAM;oBACL,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;oBACvC,MAAM,OAAO,GAAG,MAAM,wBAAe,CAAC,aAAa,CAAC,CAAC;oBACrD,MAAM,WAAW,GAAG,4BAAmB,CACrC,aAAa,EACb,OAAO,EACP,aAAa,EACb,aAAa,EACb,SAAS,EACT,QAAQ,EACR,gBAAgB,CACjB,CAAC;oBACF,MAAM,CAAC;wBACL,QAAQ;wBACR,WAAW;qBACZ,CAAC,CAAC;iBACJ;aACF;YAAC,OAAO,CAAC,EAAE;gBACV,8DAA8D;gBAC9D,MAAM,CAAC,CAAC,CAAC,CAAC;aACX;QACH,CAAC,CAAA,CAAC,CAAC;IACL,CAAC;CAAA;AAED,SAAS,0BAA0B,CAAC,CAAM;IACxC,IAAI,SAAG,CAAC,MAAM;QAAE,SAAG,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE,CAAC,CAAC,CAAC;IACzE,+DAA+D;IAC/D,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,IAAI,+BAAqB,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE;QACrF,OAAO,KAAK,CAAC;KACd;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAoBD,MAAqB,cAAc;IA8DjC,YAAY,OAA+B;QA7D3C,YAAO,GAAQ,IAAI,CAAC;QACpB,cAAS,GAAY,KAAK,CAAC;QA6DzB,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,2BAA2B,EAAE;YACxC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,OAAO;SACR;QAED,IAAI,CAAC,OAAO,GAAG,OAAO;YACpB,CAAC,CAAC,IAAI,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC;YACpC,CAAC,CAAC,IAAI,OAAO,CAAC,YAAY,EAAE,cAAc,CAAC,oBAAoB,CAAC,CAAC;QAEnE,eAAe;QACf,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;YAC3B,IAAI,SAAG,CAAC,MAAM;gBAAE,SAAG,CAAC,MAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE;YAC/B,IAAI,SAAG,CAAC,MAAM;gBAAE,SAAG,CAAC,MAAM,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAChF,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YAC5B,IAAI,SAAG,CAAC,MAAM;gBAAE,SAAG,CAAC,MAAM,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE;YAC/B,IAAI,SAAG,CAAC,MAAM;gBAAE,SAAG,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;IACL,CAAC;IAlFD,MAAM,KAAK,wCAAwC;QACjD,IAAI,OAAO,CAAC,GAAG,CAAC,sCAAsC,KAAK,MAAM,EAAE;YACjE,cAAc,CAAC,8BAA8B,GAAG,IAAI,CAAC;SACtD;aAAM,IAAI,OAAO,CAAC,GAAG,CAAC,sCAAsC,KAAK,OAAO,EAAE;YACzE,cAAc,CAAC,8BAA8B,GAAG,IAAI,CAAC;SACtD;QACD,OAAO,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC;IAC5D,CAAC;IAoCD,MAAM,KAAK,wBAAwB;QACjC,OAAO,cAAc,CAAC,wBAAwB,CAAC;IACjD,CAAC;IAED,MAAM,KAAK,oBAAoB;QAC7B,OAAO,cAAc,CAAC,oBAAoB,CAAC;IAC7C,CAAC;IAED,MAAM,KAAK,oBAAoB,CAAC,oBAA2C;QACzE,cAAc,CAAC,oBAAoB,mCAC9B,cAAc,CAAC,oBAAoB,GACnC,oBAAoB,CACxB,CAAC;QACF,cAAc,CAAC,8BAA8B,GAAG,IAAI,CAAC;IACvD,CAAC;;AA5DH,iCAsFC;AA3EQ,yCAA0B,GAAG,IAAI,CAAC,CAAC,2DAA2D;AAC9F,0CAA2B,GAAG,cAAc,CAAC,wCAAwC,CAAC;AAC/E,6CAA8B,GAAG,KAAK,CAAC;AAEtC,mCAAoB,GAA0B;IAC3D,OAAO,EAAE,OAAO;IAChB,wBAAwB,EAAE,EAAE;IAC5B,YAAY,EAAE,KAAK;IACnB,mBAAmB,EAAE,MAAM;IAC3B,mBAAmB,EAAE,GAAG;IACxB,eAAe,EAAE,EAAE;IACnB,WAAW,EAAE,0BAA0B;CACxC,CAAC;AAEa,iEAAkD,GAAG,EAAE,CAAC;AACxD,iEAAkD,GAAG,EAAE,CAAC;AACzD,uCAAwB,GAA0B;IAC9D,OAAO,EAAE,KAAK;IACd,wBAAwB,EAAE,EAAE;IAC5B,YAAY,EACV,IAAI,CAAC,KAAK,CACR,IAAI,CAAC,MAAM,EAAE;QACX,CAAC,cAAc,CAAC,kDAAkD;YAChE,cAAc,CAAC,kDAAkD;YACjE,CAAC,CAAC;QACJ,cAAc,CAAC,kDAAkD,CACpE,GAAG,IAAI;IACV,mBAAmB,EAAE,MAAM;IAC3B,mBAAmB,EAAE,GAAG;IACxB,eAAe,EAAE,CAAC;IAClB,WAAW,EAAE,CAAC,CAAM,EAAE,EAAE;QACtB,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,kCAAkC;CACrC,CAAC"}
|
package/lib/retrier.js
CHANGED
|
@@ -149,13 +149,14 @@ class GenericRetrier {
|
|
|
149
149
|
}
|
|
150
150
|
catch (err) {
|
|
151
151
|
// These are non-service errors
|
|
152
|
+
shouldBeRetried =
|
|
153
|
+
err !== undefined && err.shouldBeRetried !== undefined ? err.shouldBeRetried : true;
|
|
152
154
|
lastKnownError = {
|
|
153
155
|
code: err.code,
|
|
154
156
|
message: err.message,
|
|
155
157
|
requestEndpoint: endpoint,
|
|
156
158
|
troubleshootingPage: `See ${TROUBLESHOOT_URL} for help troubleshooting this error, or contact support and provide this full error message.`
|
|
157
159
|
};
|
|
158
|
-
shouldBeRetried = true;
|
|
159
160
|
}
|
|
160
161
|
let currentTime = new Date().getTime();
|
|
161
162
|
let timeElapsed = currentTime - timestamp.getTime();
|
package/lib/retrier.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retrier.js","sourceRoot":"","sources":["../../../../lib/retrier.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"retrier.js","sourceRoot":"","sources":["../../../../lib/retrier.ts"],"names":[],"mappings":"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"}
|