@ampsec/platform-client 35.0.0 → 35.1.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/build/src/index.d.ts +1 -0
- package/build/src/index.js +1 -0
- package/build/src/index.js.map +1 -1
- package/build/src/logging.d.ts +7 -0
- package/build/src/logging.js +5 -0
- package/build/src/logging.js.map +1 -0
- package/build/src/services/rest/RestClient.d.ts +4 -0
- package/build/src/services/rest/RestClient.js +4 -2
- package/build/src/services/rest/RestClient.js.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +1 -0
- package/src/logging.ts +8 -0
- package/src/services/rest/RestClient.ts +8 -2
package/build/src/index.d.ts
CHANGED
package/build/src/index.js
CHANGED
|
@@ -16,6 +16,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./dto"), exports);
|
|
18
18
|
__exportStar(require("./etag"), exports);
|
|
19
|
+
__exportStar(require("./logging"), exports);
|
|
19
20
|
__exportStar(require("./services"), exports);
|
|
20
21
|
__exportStar(require("./FilterCriteria"), exports);
|
|
21
22
|
//# sourceMappingURL=index.js.map
|
package/build/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAsB;AACtB,yCAAuB;AACvB,6CAA2B;AAC3B,mDAAiC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAsB;AACtB,yCAAuB;AACvB,4CAA0B;AAC1B,6CAA2B;AAC3B,mDAAiC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export interface AmpLogger {
|
|
2
|
+
info(_message: unknown, _meta?: unknown): void;
|
|
3
|
+
debug(_message: unknown, _meta?: unknown): void;
|
|
4
|
+
warn(_message: unknown, _meta?: unknown): void;
|
|
5
|
+
error(_message: unknown, _meta?: unknown): void;
|
|
6
|
+
}
|
|
7
|
+
export declare const defaultLogger: AmpLogger;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logging.js","sourceRoot":"","sources":["../../src/logging.ts"],"names":[],"mappings":";;;AAOa,QAAA,aAAa,GAAc,OAAO,CAAC"}
|
|
@@ -4,6 +4,7 @@ import { RestResponse } from './RestResponse';
|
|
|
4
4
|
import { RestClientRetryStrategy } from './retry.rest';
|
|
5
5
|
import { HeadersMap } from './utils';
|
|
6
6
|
import { RestClientRateLimitStrategy } from './rateLimit.rest';
|
|
7
|
+
import { AmpLogger } from '../../logging';
|
|
7
8
|
export type AmpRestClientOptions = {
|
|
8
9
|
baseUrl: string;
|
|
9
10
|
token: string;
|
|
@@ -11,6 +12,7 @@ export type AmpRestClientOptions = {
|
|
|
11
12
|
retryStrategy?: RestClientRetryStrategy;
|
|
12
13
|
rateLimitStrategy?: RestClientRateLimitStrategy;
|
|
13
14
|
verbose?: boolean;
|
|
15
|
+
logger?: AmpLogger;
|
|
14
16
|
client?: AxiosStatic;
|
|
15
17
|
};
|
|
16
18
|
export type RestClientOptions = {
|
|
@@ -20,6 +22,7 @@ export type RestClientOptions = {
|
|
|
20
22
|
retryStrategy?: RestClientRetryStrategy;
|
|
21
23
|
rateLimitStrategy?: RestClientRateLimitStrategy;
|
|
22
24
|
verbose?: boolean;
|
|
25
|
+
logger?: AmpLogger;
|
|
23
26
|
client?: AxiosStatic;
|
|
24
27
|
};
|
|
25
28
|
/**
|
|
@@ -40,6 +43,7 @@ export declare class DefaultRestClient {
|
|
|
40
43
|
protected readonly retryStrategy: RestClientRetryStrategy;
|
|
41
44
|
protected readonly rateLimitStrategy: RestClientRateLimitStrategy;
|
|
42
45
|
protected readonly verbose: boolean;
|
|
46
|
+
protected readonly logger: AmpLogger;
|
|
43
47
|
constructor(options?: RestClientOptions);
|
|
44
48
|
call(request: RestRequest): Promise<RestResponse>;
|
|
45
49
|
}
|
|
@@ -33,6 +33,7 @@ const axios_1 = __importStar(require("axios"));
|
|
|
33
33
|
const retry_rest_1 = require("./retry.rest");
|
|
34
34
|
const utils_1 = require("./utils");
|
|
35
35
|
const rateLimit_rest_1 = require("./rateLimit.rest");
|
|
36
|
+
const logging_1 = require("../../logging");
|
|
36
37
|
/**
|
|
37
38
|
* DefaultRestClient is a default implementation of RestClient.
|
|
38
39
|
* It defaults to useing axios to make REST calls and adds reasonble defaults
|
|
@@ -56,7 +57,8 @@ class DefaultRestClient {
|
|
|
56
57
|
var _a;
|
|
57
58
|
this.ampAxios.defaults.headers.common[key] = (_a = options.headers) === null || _a === void 0 ? void 0 : _a[key];
|
|
58
59
|
});
|
|
59
|
-
this.verbose =
|
|
60
|
+
this.verbose = options.verbose || !!options.logger;
|
|
61
|
+
this.logger = (_c = options.logger) !== null && _c !== void 0 ? _c : logging_1.defaultLogger;
|
|
60
62
|
this.ampAxios.defaults.headers.common['Accepts'] = 'application/json';
|
|
61
63
|
this.ampAxios.defaults.headers.post['Content-Type'] = 'application/json';
|
|
62
64
|
this.ampAxios.defaults.headers.put['Content-Type'] = 'application/json';
|
|
@@ -69,7 +71,7 @@ class DefaultRestClient {
|
|
|
69
71
|
try {
|
|
70
72
|
await this.rateLimitStrategy.reserve(req);
|
|
71
73
|
if (this.verbose)
|
|
72
|
-
|
|
74
|
+
this.logger.info('Request', req);
|
|
73
75
|
const res = await this.ampAxios.request(req);
|
|
74
76
|
return {
|
|
75
77
|
status: res.status,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RestClient.js","sourceRoot":"","sources":["../../../../src/services/rest/RestClient.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAAuB;AACvB,4CAAoB;AACpB,+CAA4D;AAG5D,6CAA4E;AAC5E,mCAAmD;AACnD,qDAAiI;
|
|
1
|
+
{"version":3,"file":"RestClient.js","sourceRoot":"","sources":["../../../../src/services/rest/RestClient.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
package/src/logging.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export interface AmpLogger {
|
|
2
|
+
info(_message: unknown, _meta?: unknown): void;
|
|
3
|
+
debug(_message: unknown, _meta?: unknown): void;
|
|
4
|
+
warn(_message: unknown, _meta?: unknown): void;
|
|
5
|
+
error(_message: unknown, _meta?: unknown): void;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export const defaultLogger: AmpLogger = console;
|
|
@@ -6,6 +6,7 @@ import {RestResponse} from './RestResponse';
|
|
|
6
6
|
import {RestClientRetryStrategy, noopRestRetryStrategy} from './retry.rest';
|
|
7
7
|
import {HeadersMap, convertHeaders} from './utils';
|
|
8
8
|
import {RestClientRateLimitStrategy, StaticRestClientRateLimitStrategy, noopRestClientRateLimitStrategy} from './rateLimit.rest';
|
|
9
|
+
import {AmpLogger, defaultLogger} from '../../logging';
|
|
9
10
|
|
|
10
11
|
export type AmpRestClientOptions = {
|
|
11
12
|
baseUrl: string;
|
|
@@ -14,6 +15,7 @@ export type AmpRestClientOptions = {
|
|
|
14
15
|
retryStrategy?: RestClientRetryStrategy;
|
|
15
16
|
rateLimitStrategy?: RestClientRateLimitStrategy;
|
|
16
17
|
verbose?: boolean;
|
|
18
|
+
logger?: AmpLogger;
|
|
17
19
|
client?: AxiosStatic;
|
|
18
20
|
};
|
|
19
21
|
|
|
@@ -24,6 +26,7 @@ export type RestClientOptions = {
|
|
|
24
26
|
retryStrategy?: RestClientRetryStrategy;
|
|
25
27
|
rateLimitStrategy?: RestClientRateLimitStrategy;
|
|
26
28
|
verbose?: boolean;
|
|
29
|
+
logger?: AmpLogger;
|
|
27
30
|
client?: AxiosStatic;
|
|
28
31
|
};
|
|
29
32
|
|
|
@@ -46,6 +49,8 @@ export class DefaultRestClient {
|
|
|
46
49
|
protected readonly retryStrategy: RestClientRetryStrategy;
|
|
47
50
|
protected readonly rateLimitStrategy: RestClientRateLimitStrategy;
|
|
48
51
|
protected readonly verbose: boolean;
|
|
52
|
+
protected readonly logger: AmpLogger;
|
|
53
|
+
|
|
49
54
|
constructor(options: RestClientOptions = {}) {
|
|
50
55
|
// TODO: rest client
|
|
51
56
|
const client = options.client ?? axios;
|
|
@@ -59,7 +64,8 @@ export class DefaultRestClient {
|
|
|
59
64
|
Object.keys(options.headers ?? {}).forEach(key => {
|
|
60
65
|
this.ampAxios.defaults.headers.common[key] = options.headers?.[key];
|
|
61
66
|
});
|
|
62
|
-
this.verbose = options.verbose
|
|
67
|
+
this.verbose = options.verbose || !!options.logger;
|
|
68
|
+
this.logger = options.logger ?? defaultLogger;
|
|
63
69
|
this.ampAxios.defaults.headers.common['Accepts'] = 'application/json';
|
|
64
70
|
this.ampAxios.defaults.headers.post['Content-Type'] = 'application/json';
|
|
65
71
|
this.ampAxios.defaults.headers.put['Content-Type'] = 'application/json';
|
|
@@ -70,7 +76,7 @@ export class DefaultRestClient {
|
|
|
70
76
|
const req = _.merge(request);
|
|
71
77
|
try {
|
|
72
78
|
await this.rateLimitStrategy.reserve(req);
|
|
73
|
-
if (this.verbose)
|
|
79
|
+
if (this.verbose) this.logger.info('Request', req);
|
|
74
80
|
const res = await this.ampAxios.request(req);
|
|
75
81
|
return {
|
|
76
82
|
status: res.status,
|