@sinch/sdk-client 1.4.2 → 1.5.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/dist/api/api-client-options-helper.d.ts +6 -2
- package/dist/api/api-client-options-helper.js +22 -3
- package/dist/api/api-client-options-helper.js.map +1 -1
- package/dist/api/api-client-options.d.ts +3 -1
- package/dist/api/api-client.d.ts +9 -2
- package/dist/api/api-client.js +4 -1
- package/dist/api/api-client.js.map +1 -1
- package/dist/api/api-errors.d.ts +2 -0
- package/dist/api/api-errors.js +3 -1
- package/dist/api/api-errors.js.map +1 -1
- package/dist/api/api-interface.d.ts +1 -1
- package/dist/api/callback-webhooks-interface.d.ts +1 -0
- package/dist/api/index.d.ts +1 -1
- package/dist/api/index.js.map +1 -1
- package/dist/client/api-fetch-client.d.ts +4 -2
- package/dist/client/api-fetch-client.js +42 -4
- package/dist/client/api-fetch-client.js.map +1 -1
- package/dist/client/index.d.ts +1 -0
- package/dist/client/index.js +1 -0
- package/dist/client/index.js.map +1 -1
- package/dist/client/lazy-api-client.d.ts +9 -0
- package/dist/client/lazy-api-client.js +14 -0
- package/dist/client/lazy-api-client.js.map +1 -0
- package/dist/domain/domain-helper.d.ts +14 -0
- package/dist/domain/domain-helper.js +14 -0
- package/dist/domain/domain-helper.js.map +1 -1
- package/dist/domain/domain-interface.d.ts +18 -1
- package/dist/domain/domain-interface.js +2 -0
- package/dist/domain/domain-interface.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/logger/index.d.ts +2 -0
- package/dist/logger/index.js +9 -0
- package/dist/logger/index.js.map +1 -0
- package/dist/logger/logger-types.d.ts +30 -0
- package/dist/logger/logger-types.js +3 -0
- package/dist/logger/logger-types.js.map +1 -0
- package/dist/logger/logger.d.ts +11 -0
- package/dist/logger/logger.js +48 -0
- package/dist/logger/logger.js.map +1 -0
- package/dist/logger/sinch-logger.d.ts +14 -0
- package/dist/logger/sinch-logger.js +39 -0
- package/dist/logger/sinch-logger.js.map +1 -0
- package/dist/plugins/api-token/api-token.request.d.ts +1 -0
- package/dist/plugins/api-token/api-token.request.js +1 -0
- package/dist/plugins/api-token/api-token.request.js.map +1 -1
- package/dist/plugins/basicAuthentication/basic-authentication.request.d.ts +1 -0
- package/dist/plugins/basicAuthentication/basic-authentication.request.js +1 -0
- package/dist/plugins/basicAuthentication/basic-authentication.request.js.map +1 -1
- package/dist/plugins/core/request-plugin.d.ts +2 -1
- package/dist/plugins/core/request-plugin.js.map +1 -1
- package/dist/plugins/exception/exception.response.d.ts +5 -4
- package/dist/plugins/exception/exception.response.js +5 -4
- package/dist/plugins/exception/exception.response.js.map +1 -1
- package/dist/plugins/oauth2/oauth2-token.request.d.ts +3 -1
- package/dist/plugins/oauth2/oauth2-token.request.js +3 -1
- package/dist/plugins/oauth2/oauth2-token.request.js.map +1 -1
- package/dist/plugins/signing/signing.request.d.ts +1 -0
- package/dist/plugins/signing/signing.request.js +1 -0
- package/dist/plugins/signing/signing.request.js.map +1 -1
- package/dist/plugins/version/version.request.d.ts +1 -0
- package/dist/plugins/version/version.request.js +1 -0
- package/dist/plugins/version/version.request.js.map +1 -1
- package/dist/plugins/x-timestamp/x-timestamp.request.d.ts +1 -0
- package/dist/plugins/x-timestamp/x-timestamp.request.js +1 -0
- package/dist/plugins/x-timestamp/x-timestamp.request.js.map +1 -1
- package/dist/utils/authorization.helper.d.ts +2 -2
- package/dist/utils/authorization.helper.js +7 -16
- package/dist/utils/authorization.helper.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domain-interface.js","sourceRoot":"","sources":["../../src/domain/domain-interface.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"domain-interface.js","sourceRoot":"","sources":["../../src/domain/domain-interface.ts"],"names":[],"mappings":";;;AAkGO,MAAM,oBAAoB,GAAG,CAAC,WAAgB,EAAqC,EAAE;IAC1F,MAAM,SAAS,GAAG,CAAC,WAAW,CAAuB,CAAC;IACtD,OAAO,SAAS,CAAC,SAAS,KAAK,SAAS;WACnC,SAAS,CAAC,KAAK,KAAK,SAAS;WAC7B,SAAS,CAAC,SAAS,KAAK,SAAS,CAAC;AACzC,CAAC,CAAC;AALW,QAAA,oBAAoB,wBAK/B;AAEK,MAAM,0BAA0B,GAAG,CAAC,WAAgB,EAA2C,EAAE;IACtG,MAAM,SAAS,GAAG,CAAC,WAAW,CAA6B,CAAC;IAC5D,OAAO,SAAS,CAAC,aAAa,KAAK,SAAS;WACvC,SAAS,CAAC,QAAQ,KAAK,SAAS,CAAC;AACxC,CAAC,CAAC;AAJW,QAAA,0BAA0B,8BAIrC;AAEF,gBAAgB;AAChB,cAAc;AACd,IAAY,kBAMX;AAND,WAAY,kBAAkB;IAC5B,0CAAoB,CAAA;IACpB,mCAAa,CAAA;IACb,mCAAa,CAAA;IACb,mCAAa,CAAA;IACb,sCAAgB,CAAA;AAClB,CAAC,EANW,kBAAkB,kCAAlB,kBAAkB,QAM7B;AAIY,QAAA,SAAS,GAAG;IACvB,GAAG,kBAAkB;CACtB,CAAC;AAEF,gBAAgB;AAChB,gBAAgB;AAChB,IAAY,oBAOX;AAPD,WAAY,oBAAoB;IAC9B,oCAAY,CAAA;IACZ,8CAAsB,CAAA;IACtB,uCAAe,CAAA;IACf,8CAAsB,CAAA;IACtB,kDAA0B,CAAA;IAC1B,kDAA0B,CAAA;AAC5B,CAAC,EAPW,oBAAoB,oCAApB,oBAAoB,QAO/B;AAIY,QAAA,WAAW,GAAG;IACzB,GAAG,oBAAoB;CACxB,CAAC;AAEF,cAAc;AACd,cAAc;AACd,kBAAkB;AAClB,IAAY,kBAOX;AAPD,WAAY,kBAAkB;IAC5B,kCAAY,CAAA;IACZ,4CAAsB,CAAA;IACtB,oCAAc,CAAA;IACd,4CAAsB,CAAA;IACtB,gDAA0B,CAAA;IAC1B,gDAA0B,CAAA;AAC5B,CAAC,EAPW,kBAAkB,kCAAlB,kBAAkB,QAO7B;AAKD,kBAAkB;AACL,QAAA,SAAS,GAAG;IACvB,GAAG,kBAAkB;CACtB,CAAC;AAEF,uBAAuB;AACvB,uBAAuB;AACvB,IAAY,2BAIX;AAJD,WAAY,2BAA2B;IACrC,mDAAoB,CAAA;IACpB,4CAAa,CAAA;IACb,4CAAa,CAAA;AACf,CAAC,EAJW,2BAA2B,2CAA3B,2BAA2B,QAItC;AAIY,QAAA,kBAAkB,GAAG;IAChC,GAAG,2BAA2B;CAC/B,CAAC;AAEF,uBAAuB;AACvB,kBAAkB;AAClB,gBAAgB;AAChB,IAAY,sBAGX;AAHD,WAAY,sBAAsB;IAChC,sCAAY,CAAA;IACZ,uCAAa,CAAA;AACf,CAAC,EAHW,sBAAsB,sCAAtB,sBAAsB,QAGjC;AAKD,gBAAgB;AACH,QAAA,aAAa,GAAG;IAC3B,GAAG,sBAAsB;CAC1B,CAAC"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -17,6 +17,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
__exportStar(require("./api"), exports);
|
|
18
18
|
__exportStar(require("./client"), exports);
|
|
19
19
|
__exportStar(require("./domain"), exports);
|
|
20
|
+
__exportStar(require("./logger"), exports);
|
|
20
21
|
__exportStar(require("./model"), exports);
|
|
21
22
|
__exportStar(require("./plugins"), exports);
|
|
22
23
|
__exportStar(require("./utils"), exports);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAsB;AACtB,2CAAyB;AACzB,2CAAyB;AACzB,0CAAwB;AACxB,4CAA0B;AAC1B,0CAAwB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAsB;AACtB,2CAAyB;AACzB,2CAAyB;AACzB,2CAAyB;AACzB,0CAAwB;AACxB,4CAA0B;AAC1B,0CAAwB"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.resolveLogger = exports.resolveClientParameters = exports.NOOP_LOGGER = exports.CONSOLE_LOGGER = void 0;
|
|
4
|
+
var logger_1 = require("./logger");
|
|
5
|
+
Object.defineProperty(exports, "CONSOLE_LOGGER", { enumerable: true, get: function () { return logger_1.CONSOLE_LOGGER; } });
|
|
6
|
+
Object.defineProperty(exports, "NOOP_LOGGER", { enumerable: true, get: function () { return logger_1.NOOP_LOGGER; } });
|
|
7
|
+
Object.defineProperty(exports, "resolveClientParameters", { enumerable: true, get: function () { return logger_1.resolveClientParameters; } });
|
|
8
|
+
Object.defineProperty(exports, "resolveLogger", { enumerable: true, get: function () { return logger_1.resolveLogger; } });
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/logger/index.ts"],"names":[],"mappings":";;;AACA,mCAKkB;AAJhB,wGAAA,cAAc,OAAA;AACd,qGAAA,WAAW,OAAA;AACX,iHAAA,uBAAuB,OAAA;AACvB,uGAAA,aAAa,OAAA"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A log message as a string, or a function that returns one when the logger reads it.
|
|
3
|
+
*
|
|
4
|
+
* Pass a function to defer building the message; level-aware loggers can skip that work
|
|
5
|
+
* when the level is disabled.
|
|
6
|
+
*/
|
|
7
|
+
export type LogMessage = string | (() => string);
|
|
8
|
+
/**
|
|
9
|
+
* Logger interface for SDK log output.
|
|
10
|
+
*
|
|
11
|
+
* Pass any object implementing `debug`, `info`, `warn`, and `error` via the `logger`
|
|
12
|
+
* option when initializing `SinchClient`. Messages use {@link LogMessage}.
|
|
13
|
+
*/
|
|
14
|
+
export interface Logger {
|
|
15
|
+
/**
|
|
16
|
+
* On failed HTTP responses (non-success status), the SDK logs the API name, operation,
|
|
17
|
+
* status code, HTTP method, request URL, and response headers. Enable debug on your
|
|
18
|
+
* logger to troubleshoot authentication issues, expired tokens, and other API errors.
|
|
19
|
+
*/
|
|
20
|
+
debug(message: LogMessage, ...meta: any[]): void;
|
|
21
|
+
/** Informational SDK messages, such as deprecation guidance for specific APIs. */
|
|
22
|
+
info(message: LogMessage, ...meta: any[]): void;
|
|
23
|
+
/**
|
|
24
|
+
* Deprecation notices and configuration warnings (for example conflicting credentials
|
|
25
|
+
* or deprecated region parameters).
|
|
26
|
+
*/
|
|
27
|
+
warn(message: LogMessage, ...meta: any[]): void;
|
|
28
|
+
/** SDK-level errors surfaced during client initialization or configuration. */
|
|
29
|
+
error(message: LogMessage, ...meta: any[]): void;
|
|
30
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger-types.js","sourceRoot":"","sources":["../../src/logger/logger-types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ResolvedSinchClientParameters, SinchClientParameters } from '../domain';
|
|
2
|
+
import type { Logger } from './logger-types';
|
|
3
|
+
export type { LogMessage, Logger } from './logger-types';
|
|
4
|
+
/** @internal */
|
|
5
|
+
export declare const CONSOLE_LOGGER: Logger;
|
|
6
|
+
/** @internal */
|
|
7
|
+
export declare const NOOP_LOGGER: Logger;
|
|
8
|
+
/** @internal */
|
|
9
|
+
export declare const resolveLogger: (logger?: Logger | null) => Logger;
|
|
10
|
+
/** @internal */
|
|
11
|
+
export declare const resolveClientParameters: (params: SinchClientParameters | ResolvedSinchClientParameters) => ResolvedSinchClientParameters;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.resolveClientParameters = exports.resolveLogger = exports.NOOP_LOGGER = exports.CONSOLE_LOGGER = void 0;
|
|
4
|
+
const sinch_logger_1 = require("./sinch-logger");
|
|
5
|
+
const evaluateMessage = (message) => typeof message === 'function' ? message() : message;
|
|
6
|
+
/** @internal */
|
|
7
|
+
exports.CONSOLE_LOGGER = {
|
|
8
|
+
debug: (message, ...meta) => console.debug(evaluateMessage(message), ...meta),
|
|
9
|
+
info: (message, ...meta) => console.info(evaluateMessage(message), ...meta),
|
|
10
|
+
warn: (message, ...meta) => console.warn(evaluateMessage(message), ...meta),
|
|
11
|
+
error: (message, ...meta) => console.error(evaluateMessage(message), ...meta),
|
|
12
|
+
};
|
|
13
|
+
/** @internal */
|
|
14
|
+
exports.NOOP_LOGGER = {
|
|
15
|
+
debug: () => { },
|
|
16
|
+
info: () => { },
|
|
17
|
+
warn: () => { },
|
|
18
|
+
error: () => { },
|
|
19
|
+
};
|
|
20
|
+
const resolveBaseLogger = (logger) => {
|
|
21
|
+
if (logger === null) {
|
|
22
|
+
return exports.NOOP_LOGGER;
|
|
23
|
+
}
|
|
24
|
+
if (logger === undefined) {
|
|
25
|
+
return exports.CONSOLE_LOGGER;
|
|
26
|
+
}
|
|
27
|
+
return logger;
|
|
28
|
+
};
|
|
29
|
+
/** @internal */
|
|
30
|
+
const resolveLogger = (logger) => {
|
|
31
|
+
if (logger != null && (0, sinch_logger_1.isSinchLogger)(logger)) {
|
|
32
|
+
return logger;
|
|
33
|
+
}
|
|
34
|
+
return new sinch_logger_1.SinchLogger(resolveBaseLogger(logger));
|
|
35
|
+
};
|
|
36
|
+
exports.resolveLogger = resolveLogger;
|
|
37
|
+
/** @internal */
|
|
38
|
+
const resolveClientParameters = (params) => {
|
|
39
|
+
if (params.logger != null && (0, sinch_logger_1.isSinchLogger)(params.logger)) {
|
|
40
|
+
return params;
|
|
41
|
+
}
|
|
42
|
+
return {
|
|
43
|
+
...params,
|
|
44
|
+
logger: (0, exports.resolveLogger)(params.logger),
|
|
45
|
+
};
|
|
46
|
+
};
|
|
47
|
+
exports.resolveClientParameters = resolveClientParameters;
|
|
48
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/logger/logger.ts"],"names":[],"mappings":";;;AAEA,iDAA4D;AAI5D,MAAM,eAAe,GAAG,CAAC,OAAmB,EAAU,EAAE,CACtD,OAAO,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;AAEtD,gBAAgB;AACH,QAAA,cAAc,GAAW;IACpC,KAAK,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC;IAC7E,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC;IAC3E,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC;IAC3E,KAAK,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC;CAC9E,CAAC;AAEF,gBAAgB;AACH,QAAA,WAAW,GAAW;IACjC,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;IACf,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;IACd,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;IACd,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;CAChB,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,MAAsB,EAAU,EAAE;IAC3D,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO,mBAAW,CAAC;IACrB,CAAC;IACD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,sBAAc,CAAC;IACxB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,gBAAgB;AACT,MAAM,aAAa,GAAG,CAAC,MAAsB,EAAU,EAAE;IAC9D,IAAI,MAAM,IAAI,IAAI,IAAI,IAAA,4BAAa,EAAC,MAAM,CAAC,EAAE,CAAC;QAC5C,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,OAAO,IAAI,0BAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;AACpD,CAAC,CAAC;AALW,QAAA,aAAa,iBAKxB;AAEF,gBAAgB;AACT,MAAM,uBAAuB,GAAG,CACrC,MAA6D,EAC9B,EAAE;IACjC,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI,IAAI,IAAA,4BAAa,EAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1D,OAAO,MAAuC,CAAC;IACjD,CAAC;IACD,OAAO;QACL,GAAG,MAAM;QACT,MAAM,EAAE,IAAA,qBAAa,EAAC,MAAM,CAAC,MAAM,CAAC;KACrC,CAAC;AACJ,CAAC,CAAC;AAVW,QAAA,uBAAuB,2BAUlC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Logger, LogMessage } from './logger-types';
|
|
2
|
+
/** @internal */
|
|
3
|
+
export declare const isSinchLogger: (logger: Logger) => boolean;
|
|
4
|
+
/** @internal */
|
|
5
|
+
export declare class SinchLogger implements Logger {
|
|
6
|
+
private baseLogger;
|
|
7
|
+
constructor(baseLogger: Logger);
|
|
8
|
+
private format;
|
|
9
|
+
private log;
|
|
10
|
+
debug(message: LogMessage, ...meta: any[]): void;
|
|
11
|
+
info(message: LogMessage, ...meta: any[]): void;
|
|
12
|
+
warn(message: LogMessage, ...meta: any[]): void;
|
|
13
|
+
error(message: LogMessage, ...meta: any[]): void;
|
|
14
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SinchLogger = exports.isSinchLogger = void 0;
|
|
4
|
+
const sinchLoggers = new WeakSet();
|
|
5
|
+
/** @internal */
|
|
6
|
+
const isSinchLogger = (logger) => sinchLoggers.has(logger);
|
|
7
|
+
exports.isSinchLogger = isSinchLogger;
|
|
8
|
+
/** @internal */
|
|
9
|
+
class SinchLogger {
|
|
10
|
+
constructor(baseLogger) {
|
|
11
|
+
this.baseLogger = baseLogger;
|
|
12
|
+
sinchLoggers.add(this);
|
|
13
|
+
}
|
|
14
|
+
format(level, message) {
|
|
15
|
+
return `[Sinch SDK][${level}] ${message}`;
|
|
16
|
+
}
|
|
17
|
+
log(level, method, message, ...meta) {
|
|
18
|
+
if (typeof message === 'function') {
|
|
19
|
+
this.baseLogger[method](() => this.format(level, message()), ...meta);
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
this.baseLogger[method](this.format(level, message), ...meta);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
debug(message, ...meta) {
|
|
26
|
+
this.log('Debug', 'debug', message, ...meta);
|
|
27
|
+
}
|
|
28
|
+
info(message, ...meta) {
|
|
29
|
+
this.log('Info', 'info', message, ...meta);
|
|
30
|
+
}
|
|
31
|
+
warn(message, ...meta) {
|
|
32
|
+
this.log('Warn', 'warn', message, ...meta);
|
|
33
|
+
}
|
|
34
|
+
error(message, ...meta) {
|
|
35
|
+
this.log('Error', 'error', message, ...meta);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
exports.SinchLogger = SinchLogger;
|
|
39
|
+
//# sourceMappingURL=sinch-logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sinch-logger.js","sourceRoot":"","sources":["../../src/logger/sinch-logger.ts"],"names":[],"mappings":";;;AAEA,MAAM,YAAY,GAAG,IAAI,OAAO,EAAU,CAAC;AAE3C,gBAAgB;AACT,MAAM,aAAa,GAAG,CAAC,MAAc,EAAW,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAAtE,QAAA,aAAa,iBAAyD;AAEnF,gBAAgB;AAChB,MAAa,WAAW;IACtB,YAAoB,UAAkB;QAAlB,eAAU,GAAV,UAAU,CAAQ;QACpC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAEO,MAAM,CAAC,KAAa,EAAE,OAAe;QAC3C,OAAO,eAAe,KAAK,KAAK,OAAO,EAAE,CAAC;IAC5C,CAAC;IAEO,GAAG,CAAC,KAAa,EAAE,MAAoB,EAAE,OAAmB,EAAE,GAAG,IAAW;QAClF,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;YAClC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;QACxE,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAmB,EAAE,GAAG,IAAW;QACvC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,CAAC,OAAmB,EAAE,GAAG,IAAW;QACtC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IAC7C,CAAC;IACD,IAAI,CAAC,OAAmB,EAAE,GAAG,IAAW;QACtC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IAC7C,CAAC;IACD,KAAK,CAAC,OAAmB,EAAE,GAAG,IAAW;QACvC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IAC/C,CAAC;CACF;AA7BD,kCA6BC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-token.request.js","sourceRoot":"","sources":["../../../src/plugins/api-token/api-token.request.ts"],"names":[],"mappings":";;;AACA,2DAA0F;AAE1F,MAAa,eAAe;IAG1B,YAAY,QAAgB;QAC1B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,OAAO;QACL,OAAO,kCAAiB,CAAC,iBAAiB,CAAC;IAC7C,CAAC;IAEM,IAAI;QACT,OAAO;YACL,SAAS,EAAE,CAAC,IAAoB,EAAE,EAAE;gBAClC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,UAAU,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAChE,OAAO,IAAI,CAAC;YACd,CAAC;SACF,CAAC;IACJ,CAAC;CACF;AAnBD,0CAmBC"}
|
|
1
|
+
{"version":3,"file":"api-token.request.js","sourceRoot":"","sources":["../../../src/plugins/api-token/api-token.request.ts"],"names":[],"mappings":";;;AACA,2DAA0F;AAE1F,gBAAgB;AAChB,MAAa,eAAe;IAG1B,YAAY,QAAgB;QAC1B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,OAAO;QACL,OAAO,kCAAiB,CAAC,iBAAiB,CAAC;IAC7C,CAAC;IAEM,IAAI;QACT,OAAO;YACL,SAAS,EAAE,CAAC,IAAoB,EAAE,EAAE;gBAClC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,UAAU,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAChE,OAAO,IAAI,CAAC;YACd,CAAC;SACF,CAAC;IACJ,CAAC;CACF;AAnBD,0CAmBC"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.BasicAuthenticationRequest = void 0;
|
|
4
4
|
const request_plugin_1 = require("../core/request-plugin");
|
|
5
|
+
/** @internal */
|
|
5
6
|
class BasicAuthenticationRequest {
|
|
6
7
|
constructor(userName, password) {
|
|
7
8
|
this.userName = userName;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"basic-authentication.request.js","sourceRoot":"","sources":["../../../src/plugins/basicAuthentication/basic-authentication.request.ts"],"names":[],"mappings":";;;AACA,2DAA0F;AAE1F,MAAa,0BAA0B;IAIrC,YAAY,QAAgB,EAAE,QAAgB;QAC5C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,OAAO;QACL,OAAO,kCAAiB,CAAC,4BAA4B,CAAC;IACxD,CAAC;IAEM,IAAI;QACT,OAAO;YACL,SAAS,EAAE,CAAC,IAAoB,EAAE,EAAE;gBAClC,MAAM,SAAS,GACX,QAAQ;sBACR,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBACxE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;gBAChD,OAAO,IAAI,CAAC;YACd,CAAC;SACF,CAAC;IACJ,CAAC;CACF;AAxBD,gEAwBC"}
|
|
1
|
+
{"version":3,"file":"basic-authentication.request.js","sourceRoot":"","sources":["../../../src/plugins/basicAuthentication/basic-authentication.request.ts"],"names":[],"mappings":";;;AACA,2DAA0F;AAE1F,gBAAgB;AAChB,MAAa,0BAA0B;IAIrC,YAAY,QAAgB,EAAE,QAAgB;QAC5C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,OAAO;QACL,OAAO,kCAAiB,CAAC,4BAA4B,CAAC;IACxD,CAAC;IAEM,IAAI;QACT,OAAO;YACL,SAAS,EAAE,CAAC,IAAoB,EAAE,EAAE;gBAClC,MAAM,SAAS,GACX,QAAQ;sBACR,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBACxE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;gBAChD,OAAO,IAAI,CAAC;YACd,CAAC;SACF,CAAC;IACJ,CAAC;CACF;AAxBD,gEAwBC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Plugin, PluginRunner } from './plugin';
|
|
2
2
|
import { Headers, RequestInit } from 'node-fetch';
|
|
3
3
|
import FormData = require('form-data');
|
|
4
|
+
import { WithLogger } from '../../domain';
|
|
4
5
|
export type RequestBody = string | FormData;
|
|
5
6
|
export declare enum RequestPluginEnum {
|
|
6
7
|
ADDITIONAL_HEADER_REQUEST = "AdditionalHeadersRequest",
|
|
@@ -11,7 +12,7 @@ export declare enum RequestPluginEnum {
|
|
|
11
12
|
VERSION_REQUEST = "VersionRequest",
|
|
12
13
|
X_TIMESTAMP_REQUEST = "XTimestampRequest"
|
|
13
14
|
}
|
|
14
|
-
export interface RequestOptions extends RequestInit {
|
|
15
|
+
export interface RequestOptions extends RequestInit, WithLogger {
|
|
15
16
|
/** Query Parameters */
|
|
16
17
|
queryParams?: {
|
|
17
18
|
[key: string]: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-plugin.js","sourceRoot":"","sources":["../../../src/plugins/core/request-plugin.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"request-plugin.js","sourceRoot":"","sources":["../../../src/plugins/core/request-plugin.ts"],"names":[],"mappings":";;;AAOA,IAAY,iBAQX;AARD,WAAY,iBAAiB;IAC3B,2EAAsD,CAAA;IACtD,0DAAqC,CAAA;IACrC,gFAA2D,CAAA;IAC3D,gEAA2C,CAAA;IAC3C,uDAAkC,CAAA;IAClC,uDAAkC,CAAA;IAClC,8DAAyC,CAAA;AAC3C,CAAC,EARW,iBAAiB,iCAAjB,iBAAiB,QAQ5B"}
|
|
@@ -3,13 +3,14 @@ import { ResponsePlugin, ResponsePluginContext } from '../core/response-plugin';
|
|
|
3
3
|
/**
|
|
4
4
|
* Plugin to fire an exception on wrong response / data
|
|
5
5
|
*/
|
|
6
|
+
/** @internal */
|
|
6
7
|
export declare class ExceptionResponse<V extends Record<string, any> | undefined = Record<string, any>> implements ResponsePlugin<V | Record<string, unknown>, V> {
|
|
7
8
|
private callback?;
|
|
8
9
|
/**
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
* Initialize an instance of the class, with an optional callback function for exception handling.
|
|
11
|
+
*
|
|
12
|
+
* @param {Function} [callback] - A function called in case of an exception. If provided, this function is responsible for throwing the exception or not.
|
|
13
|
+
*/
|
|
13
14
|
constructor(callback?: ((res: V, error: Error | undefined) => V) | undefined);
|
|
14
15
|
load(context: ResponsePluginContext): PluginRunner<V | Record<string, unknown>, V>;
|
|
15
16
|
}
|
|
@@ -5,12 +5,13 @@ const api_errors_1 = require("../../api/api-errors");
|
|
|
5
5
|
/**
|
|
6
6
|
* Plugin to fire an exception on wrong response / data
|
|
7
7
|
*/
|
|
8
|
+
/** @internal */
|
|
8
9
|
class ExceptionResponse {
|
|
9
10
|
/**
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
* Initialize an instance of the class, with an optional callback function for exception handling.
|
|
12
|
+
*
|
|
13
|
+
* @param {Function} [callback] - A function called in case of an exception. If provided, this function is responsible for throwing the exception or not.
|
|
14
|
+
*/
|
|
14
15
|
constructor(callback) {
|
|
15
16
|
this.callback = callback;
|
|
16
17
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exception.response.js","sourceRoot":"","sources":["../../../src/plugins/exception/exception.response.ts"],"names":[],"mappings":";;;AAAA,qDAA8E;AAI9E;;GAEG;AACH,MAAa,iBAAiB;
|
|
1
|
+
{"version":3,"file":"exception.response.js","sourceRoot":"","sources":["../../../src/plugins/exception/exception.response.ts"],"names":[],"mappings":";;;AAAA,qDAA8E;AAI9E;;GAEG;AACH,gBAAgB;AAChB,MAAa,iBAAiB;IAI5B;;;;KAIC;IACD,YACU,QAAkD;QAAlD,aAAQ,GAAR,QAAQ,CAA0C;IACzD,CAAC;IAEG,IAAI,CACT,OAA8B;QAE9B,OAAO;YACL,SAAS,EAAE,CAAC,GAAM,EAAE,EAAE;gBACpB,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;oBACtB,OAAO,GAAG,CAAC;gBACb,CAAC;gBAED,MAAM,YAAY,GAAG;oBACnB,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,WAAW,EAAE,OAAO,CAAC,WAAW;oBAChC,GAAG,EAAE,OAAO,CAAC,GAAG;iBACjB,CAAC;gBACF,IAAI,KAAwB,CAAC;gBAE7B,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;oBACtB,KAAK,GAAG,IAAI,+BAAkB,CAC5B,eAAe,EACf,YAAY,CACb,CAAC;gBACJ,CAAC;qBAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;oBAChC,MAAM,OAAO,GAA8B,EAAE,CAAC;oBAC9C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;wBAC9C,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAG,KAAK,CAAC;oBACrC,CAAC,CAAC,CAAC;oBACH,KAAK,GAAG,IAAI,+BAAkB,CAC5B,OAAO,CAAC,QAAQ,CAAC,UAAU,EAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM,EACvB,YAAY,EACZ,GAAG,EACH,OAAO,CACR,CAAC;gBACJ,CAAC;qBAAM,IAAI,CAAC,GAAG,EAAE,CAAC;oBAChB,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG;2BAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG;2BAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG,EAClC,CAAC;wBACD,KAAK,GAAG,IAAI,+BAAkB,CAC5B,OAAO,CAAC,QAAQ,CAAC,UAAU,EAC3B,YAAY,CACb,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,IAAI,KAAK,EAAE,CAAC;oBACV,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;wBAClB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;oBACnC,CAAC;yBAAM,CAAC;wBACN,MAAM,KAAK,CAAC;oBACd,CAAC;gBACH,CAAC;gBACD,OAAO,GAAG,CAAC;YACb,CAAC;SACF,CAAC;IACJ,CAAC;CACF;AArED,8CAqEC"}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { PluginRunner } from '../core';
|
|
2
2
|
import { RequestOptions, RequestPlugin } from '../core/request-plugin';
|
|
3
|
+
import { Logger } from '../../logger';
|
|
4
|
+
/** @internal */
|
|
3
5
|
export declare class Oauth2TokenRequest implements RequestPlugin {
|
|
4
6
|
private readonly apiClient;
|
|
5
7
|
private token;
|
|
6
8
|
/** Shared promise for concurrent token refresh */
|
|
7
9
|
private pendingTokenRefresh;
|
|
8
10
|
getName(): string;
|
|
9
|
-
constructor(clientId: string, clientSecret: string, authenticationUrl?: string);
|
|
11
|
+
constructor(clientId: string, clientSecret: string, authenticationUrl?: string, logger?: Logger | null);
|
|
10
12
|
private getOAuth2Token;
|
|
11
13
|
private fetchNewToken;
|
|
12
14
|
/**
|
|
@@ -23,11 +23,12 @@ const EXPIRY_SAFETY_MARGIN_SEC = 60;
|
|
|
23
23
|
const MAX_RATE_LIMIT_RETRIES = 3;
|
|
24
24
|
const RATE_LIMIT_RETRY_BASE_MS = 1_000;
|
|
25
25
|
const RATE_LIMIT_RETRY_GROWTH = 4;
|
|
26
|
+
/** @internal */
|
|
26
27
|
class Oauth2TokenRequest {
|
|
27
28
|
getName() {
|
|
28
29
|
return request_plugin_1.RequestPluginEnum.OAUTH2_TOKEN_REQUEST;
|
|
29
30
|
}
|
|
30
|
-
constructor(clientId, clientSecret, authenticationUrl) {
|
|
31
|
+
constructor(clientId, clientSecret, authenticationUrl, logger) {
|
|
31
32
|
/** Shared promise for concurrent token refresh */
|
|
32
33
|
this.pendingTokenRefresh = null;
|
|
33
34
|
const basicAuthenticationPlugin = new basicAuthentication_1.BasicAuthenticationRequest(clientId, clientSecret);
|
|
@@ -37,6 +38,7 @@ class Oauth2TokenRequest {
|
|
|
37
38
|
this.apiClient = new api_fetch_client_1.ApiFetchClient({
|
|
38
39
|
hostname: authenticationUrl,
|
|
39
40
|
requestPlugins: [basicAuthenticationPlugin],
|
|
41
|
+
logger,
|
|
40
42
|
});
|
|
41
43
|
}
|
|
42
44
|
async getOAuth2Token() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth2-token.request.js","sourceRoot":"","sources":["../../../src/plugins/oauth2/oauth2-token.request.ts"],"names":[],"mappings":";;;AACA,2DAA0F;AAC1F,8DAAiE;AAEjE,6CAAyC;AACzC,gEAAoE;AACpE,oEAA+D;AAC/D,yCAA6C;AAC7C,qDAA0D;
|
|
1
|
+
{"version":3,"file":"oauth2-token.request.js","sourceRoot":"","sources":["../../../src/plugins/oauth2/oauth2-token.request.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.SigningRequest = void 0;
|
|
4
4
|
const request_plugin_1 = require("../core/request-plugin");
|
|
5
5
|
const authorization_helper_1 = require("../../utils/authorization.helper");
|
|
6
|
+
/** @internal */
|
|
6
7
|
class SigningRequest {
|
|
7
8
|
constructor(applicationId, applicationSecret) {
|
|
8
9
|
this.applicationId = applicationId;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signing.request.js","sourceRoot":"","sources":["../../../src/plugins/signing/signing.request.ts"],"names":[],"mappings":";;;AACA,2DAA0F;AAC1F,2EAA+E;AAE/E,MAAa,cAAc;IAIzB,YAAY,aAAqB,EAAE,iBAAyB;QAC1D,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;IAC7C,CAAC;IAED,OAAO;QACL,OAAO,kCAAiB,CAAC,eAAe,CAAC;IAC3C,CAAC;IAEM,IAAI;QACT,OAAO;YACL,SAAS,EAAE,CAAC,IAAoB,EAAE,EAAE;gBAClC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACjB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;gBACtD,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;oBACf,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;gBACnD,CAAC;gBACD,MAAM,mBAAmB,GAAG,IAAA,kDAA2B,EACrD,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,EACzB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAE,EACjC,eAAe,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,EAChD,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,iBAAiB,CACvB,CAAC;gBACF,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;gBAC1D,OAAO,IAAI,CAAC;YACd,CAAC;SACF,CAAC;IACJ,CAAC;CACF;AApCD,wCAoCC"}
|
|
1
|
+
{"version":3,"file":"signing.request.js","sourceRoot":"","sources":["../../../src/plugins/signing/signing.request.ts"],"names":[],"mappings":";;;AACA,2DAA0F;AAC1F,2EAA+E;AAE/E,gBAAgB;AAChB,MAAa,cAAc;IAIzB,YAAY,aAAqB,EAAE,iBAAyB;QAC1D,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;IAC7C,CAAC;IAED,OAAO;QACL,OAAO,kCAAiB,CAAC,eAAe,CAAC;IAC3C,CAAC;IAEM,IAAI;QACT,OAAO;YACL,SAAS,EAAE,CAAC,IAAoB,EAAE,EAAE;gBAClC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACjB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;gBACtD,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;oBACf,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;gBACnD,CAAC;gBACD,MAAM,mBAAmB,GAAG,IAAA,kDAA2B,EACrD,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,EACzB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAE,EACjC,eAAe,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,EAChD,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,iBAAiB,CACvB,CAAC;gBACF,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;gBAC1D,OAAO,IAAI,CAAC;YACd,CAAC;SACF,CAAC;IACJ,CAAC;CACF;AApCD,wCAoCC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { PluginRunner } from '../core';
|
|
2
2
|
import { RequestOptions, RequestPlugin } from '../core/request-plugin';
|
|
3
|
+
/** @internal */
|
|
3
4
|
export declare class VersionRequest implements RequestPlugin {
|
|
4
5
|
getName(): string;
|
|
5
6
|
load(): PluginRunner<RequestOptions, RequestOptions>;
|
|
@@ -37,6 +37,7 @@ exports.VersionRequest = void 0;
|
|
|
37
37
|
const request_plugin_1 = require("../core/request-plugin");
|
|
38
38
|
const process = __importStar(require("process"));
|
|
39
39
|
const getVersion_1 = require("../../getVersion");
|
|
40
|
+
/** @internal */
|
|
40
41
|
class VersionRequest {
|
|
41
42
|
getName() {
|
|
42
43
|
return request_plugin_1.RequestPluginEnum.VERSION_REQUEST;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.request.js","sourceRoot":"","sources":["../../../src/plugins/version/version.request.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,2DAA0F;AAC1F,iDAAmC;AACnC,iDAAkD;AAElD,MAAa,cAAc;IAEzB,OAAO;QACL,OAAO,kCAAiB,CAAC,eAAe,CAAC;IAC3C,CAAC;IACM,IAAI;QACT,MAAM,UAAU,GAAG,2BAAc,CAAC;QAClC,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC;QACxC,MAAM,kBAAkB,GAAG,SAAS,CAAC;QACrC,MAAM,aAAa,GAAG,MAAM,CAAC;QAC7B,OAAO;YACL,SAAS,EAAE,CAAC,IAAoB,EAAE,EAAE;gBAClC,IAAI,CAAC,OAAO,CAAC,MAAM,CACjB,YAAY,EACZ,aAAa,UAAU,gBAAgB,eAAe,KAAK,kBAAkB,KAAK,aAAa,GAAG,CACnG,CAAC;gBACF,OAAO,IAAI,CAAC;YACd,CAAC;SACF,CAAC;IACJ,CAAC;CACF;AApBD,wCAoBC"}
|
|
1
|
+
{"version":3,"file":"version.request.js","sourceRoot":"","sources":["../../../src/plugins/version/version.request.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,2DAA0F;AAC1F,iDAAmC;AACnC,iDAAkD;AAElD,gBAAgB;AAChB,MAAa,cAAc;IAEzB,OAAO;QACL,OAAO,kCAAiB,CAAC,eAAe,CAAC;IAC3C,CAAC;IACM,IAAI;QACT,MAAM,UAAU,GAAG,2BAAc,CAAC;QAClC,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC;QACxC,MAAM,kBAAkB,GAAG,SAAS,CAAC;QACrC,MAAM,aAAa,GAAG,MAAM,CAAC;QAC7B,OAAO;YACL,SAAS,EAAE,CAAC,IAAoB,EAAE,EAAE;gBAClC,IAAI,CAAC,OAAO,CAAC,MAAM,CACjB,YAAY,EACZ,aAAa,UAAU,gBAAgB,eAAe,KAAK,kBAAkB,KAAK,aAAa,GAAG,CACnG,CAAC;gBACF,OAAO,IAAI,CAAC;YACd,CAAC;SACF,CAAC;IACJ,CAAC;CACF;AApBD,wCAoBC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { PluginRunner } from '../core';
|
|
2
2
|
import { RequestOptions, RequestPlugin } from '../core/request-plugin';
|
|
3
|
+
/** @internal */
|
|
3
4
|
export declare class XTimestampRequest implements RequestPlugin {
|
|
4
5
|
getName(): string;
|
|
5
6
|
load(): PluginRunner<RequestOptions, RequestOptions>;
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.XTimestampRequest = void 0;
|
|
4
4
|
const request_plugin_1 = require("../core/request-plugin");
|
|
5
|
+
/** @internal */
|
|
5
6
|
class XTimestampRequest {
|
|
6
7
|
getName() {
|
|
7
8
|
return request_plugin_1.RequestPluginEnum.X_TIMESTAMP_REQUEST;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"x-timestamp.request.js","sourceRoot":"","sources":["../../../src/plugins/x-timestamp/x-timestamp.request.ts"],"names":[],"mappings":";;;AACA,2DAA0F;AAE1F,MAAa,iBAAiB;IAE5B,OAAO;QACL,OAAO,kCAAiB,CAAC,mBAAmB,CAAC;IAC/C,CAAC;IAEM,IAAI;QACT,OAAO;YACL,SAAS,EAAE,CAAC,IAAoB,EAAE,EAAE;gBAClC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;gBAC7D,OAAO,IAAI,CAAC;YACd,CAAC;SACF,CAAC;IACJ,CAAC;CAEF;AAfD,8CAeC"}
|
|
1
|
+
{"version":3,"file":"x-timestamp.request.js","sourceRoot":"","sources":["../../../src/plugins/x-timestamp/x-timestamp.request.ts"],"names":[],"mappings":";;;AACA,2DAA0F;AAE1F,gBAAgB;AAChB,MAAa,iBAAiB;IAE5B,OAAO;QACL,OAAO,kCAAiB,CAAC,mBAAmB,CAAC;IAC/C,CAAC;IAEM,IAAI;QACT,OAAO;YACL,SAAS,EAAE,CAAC,IAAoB,EAAE,EAAE;gBAClC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;gBAC7D,OAAO,IAAI,CAAC;YACd,CAAC;SACF,CAAC;IACJ,CAAC;CAEF;AAfD,8CAeC"}
|
|
@@ -39,7 +39,7 @@ export declare const validateAuthenticationHeader: (applicationKey: string, appl
|
|
|
39
39
|
* @return {boolean} - true if the signature header is valid
|
|
40
40
|
*/
|
|
41
41
|
export declare const validateSignatureHeader: (callbackSecret: string, headers: IncomingHttpHeaders, body: any) => boolean;
|
|
42
|
+
/** @internal */
|
|
42
43
|
export declare const computeSignedData: (body: string, nonce: string, timestamp: string) => string;
|
|
44
|
+
/** @internal */
|
|
43
45
|
export declare const calculateWebhookSignature: (signedData: string, secret: string) => string;
|
|
44
|
-
export declare const calculateMD5: (body: string) => string;
|
|
45
|
-
export declare const calculateSignature: (secret: string, stringToSign: string) => string;
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
6
|
+
exports.calculateWebhookSignature = exports.computeSignedData = exports.validateSignatureHeader = exports.validateAuthenticationHeader = exports.validateWebhookSignature = exports.generateAuthorizationHeader = void 0;
|
|
7
7
|
const crypto_1 = __importDefault(require("crypto"));
|
|
8
8
|
/**
|
|
9
9
|
* Generate authorization header for application-signed requests (Verification and Voice)
|
|
@@ -18,8 +18,8 @@ const crypto_1 = __importDefault(require("crypto"));
|
|
|
18
18
|
*/
|
|
19
19
|
const generateAuthorizationHeader = (httpVerb, body, contentType, canonicalizedHeaders, canonicalizedResource, applicationKey, applicationSecret) => {
|
|
20
20
|
const hasBody = !!body;
|
|
21
|
-
const stringToSign = buildStringToSign(httpVerb, hasBody ?
|
|
22
|
-
const signature =
|
|
21
|
+
const stringToSign = buildStringToSign(httpVerb, hasBody ? calculateMD5(body) : '', contentType, canonicalizedHeaders, canonicalizedResource);
|
|
22
|
+
const signature = calculateSignature(applicationSecret, stringToSign);
|
|
23
23
|
return `Application ${applicationKey}:${signature}`;
|
|
24
24
|
};
|
|
25
25
|
exports.generateAuthorizationHeader = generateAuthorizationHeader;
|
|
@@ -72,8 +72,6 @@ const validateAuthenticationHeader = (applicationKey, applicationSecret, headers
|
|
|
72
72
|
if (authorizationScheme === 'application') {
|
|
73
73
|
return validateApplicationAuth(authorizationValue, normalizedHeaders, applicationKey, applicationSecret, path, body, method);
|
|
74
74
|
}
|
|
75
|
-
// Other schemes than 'basic' or 'application' are not supported
|
|
76
|
-
console.error(`Scheme is not valid: ${authParts[0]}`);
|
|
77
75
|
return false;
|
|
78
76
|
};
|
|
79
77
|
exports.validateAuthenticationHeader = validateAuthenticationHeader;
|
|
@@ -105,10 +103,12 @@ const normalizeHeaders = (headers) => {
|
|
|
105
103
|
const computeHmacSignature = (body, secret) => {
|
|
106
104
|
return crypto_1.default.createHmac('sha1', secret).update(body).digest('hex');
|
|
107
105
|
};
|
|
106
|
+
/** @internal */
|
|
108
107
|
const computeSignedData = (body, nonce, timestamp) => {
|
|
109
108
|
return `${body}.${nonce}.${timestamp}`;
|
|
110
109
|
};
|
|
111
110
|
exports.computeSignedData = computeSignedData;
|
|
111
|
+
/** @internal */
|
|
112
112
|
const calculateWebhookSignature = (signedData, secret) => {
|
|
113
113
|
return crypto_1.default.createHmac('sha256', secret).update(signedData).digest('base64');
|
|
114
114
|
};
|
|
@@ -116,20 +116,17 @@ exports.calculateWebhookSignature = calculateWebhookSignature;
|
|
|
116
116
|
const validateApplicationAuth = (authorizationValue, normalizedHeaders, applicationKey, applicationSecret, path, body, method) => {
|
|
117
117
|
const authKeyAndSecret = authorizationValue.split(':');
|
|
118
118
|
if (authKeyAndSecret.length !== 2) {
|
|
119
|
-
console.error('Invalid authorization value format provided');
|
|
120
119
|
return false;
|
|
121
120
|
}
|
|
122
121
|
if (authKeyAndSecret[0] !== applicationKey) {
|
|
123
|
-
console.error('Application Key is not valid');
|
|
124
122
|
return false;
|
|
125
123
|
}
|
|
126
124
|
const contentType = getHeader(normalizedHeaders['content-type']);
|
|
127
125
|
const hasBody = !!body;
|
|
128
|
-
const contentMD5 = hasBody ?
|
|
126
|
+
const contentMD5 = hasBody ? calculateMD5(body) : '';
|
|
129
127
|
const stringToSign = buildStringToSign(method.toUpperCase(), contentMD5, contentType, `x-timestamp:${normalizedHeaders['x-timestamp']}`, path);
|
|
130
|
-
const signature =
|
|
128
|
+
const signature = calculateSignature(applicationSecret, stringToSign);
|
|
131
129
|
if (authKeyAndSecret[1] !== signature) {
|
|
132
|
-
console.error('Invalid signature');
|
|
133
130
|
return false;
|
|
134
131
|
}
|
|
135
132
|
return true;
|
|
@@ -138,22 +135,18 @@ const calculateMD5 = (body) => {
|
|
|
138
135
|
// Content-MD5 = Base64 ( MD5 ( UTF8 ( [BODY] ) ) )
|
|
139
136
|
return crypto_1.default.createHash('md5').update(Buffer.from(body, 'utf-8')).digest('base64');
|
|
140
137
|
};
|
|
141
|
-
exports.calculateMD5 = calculateMD5;
|
|
142
138
|
const calculateSignature = (secret, stringToSign) => {
|
|
143
139
|
// Signature = Base64 ( HMAC-SHA256 ( Base64-Decode ( ApplicationSecret ), UTF8 ( StringToSign ) ) );
|
|
144
140
|
return crypto_1.default.createHmac('sha256', Buffer.from(secret, 'base64'))
|
|
145
141
|
.update(Buffer.from(stringToSign, 'utf-8'))
|
|
146
142
|
.digest('base64');
|
|
147
143
|
};
|
|
148
|
-
exports.calculateSignature = calculateSignature;
|
|
149
144
|
const buildStringToSign = (httpVerb, contentMD5, contentType, canonicalizedHeaders, canonicalizedResource) => {
|
|
150
145
|
return `${httpVerb}\n${contentMD5}\n${contentType}\n${canonicalizedHeaders}\n${canonicalizedResource}`;
|
|
151
146
|
};
|
|
152
147
|
const checkAuthorizationHeaderFormat = (authorizationHeader) => {
|
|
153
148
|
const authParts = authorizationHeader.split(' ');
|
|
154
149
|
if (authParts.length !== 2) {
|
|
155
|
-
// The authorization header must be in 2 part: scheme and authorization value
|
|
156
|
-
console.error('Invalid authorization format provided');
|
|
157
150
|
return null;
|
|
158
151
|
}
|
|
159
152
|
return authParts;
|
|
@@ -161,11 +154,9 @@ const checkAuthorizationHeaderFormat = (authorizationHeader) => {
|
|
|
161
154
|
const validateBasicAuth = (authorization, applicationKey, applicationSecret) => {
|
|
162
155
|
const authKeyAndSecret = authorization.split(':');
|
|
163
156
|
if (authKeyAndSecret.length !== 2) {
|
|
164
|
-
console.error('Invalid authorization value format provided');
|
|
165
157
|
return false;
|
|
166
158
|
}
|
|
167
159
|
if (authKeyAndSecret[0] !== applicationKey || authKeyAndSecret[1] !== applicationSecret) {
|
|
168
|
-
console.error('Invalid credentials provided');
|
|
169
160
|
return false;
|
|
170
161
|
}
|
|
171
162
|
return true;
|