serverless-simple-middleware 0.0.53 → 0.0.57
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/.prettierignore +2 -2
- package/README.md +4 -4
- package/dist/aws/config.d.ts +15 -15
- package/dist/aws/config.js +29 -29
- package/dist/aws/define.d.ts +21 -21
- package/dist/aws/define.js +8 -8
- package/dist/aws/index.d.ts +3 -3
- package/dist/aws/index.js +8 -8
- package/dist/aws/simple.d.ts +46 -44
- package/dist/aws/simple.js +682 -656
- package/dist/index.d.ts +3 -3
- package/dist/index.js +8 -8
- package/dist/middleware/aws.d.ts +25 -25
- package/dist/middleware/aws.js +128 -128
- package/dist/middleware/base.d.ts +54 -54
- package/dist/middleware/base.js +140 -140
- package/dist/middleware/build.d.ts +3 -3
- package/dist/middleware/build.js +234 -234
- package/dist/middleware/index.d.ts +12 -12
- package/dist/middleware/index.js +22 -22
- package/dist/middleware/logger.d.ts +18 -18
- package/dist/middleware/logger.js +71 -71
- package/dist/middleware/mysql.d.ts +44 -44
- package/dist/middleware/mysql.js +289 -289
- package/dist/middleware/trace.d.ts +86 -86
- package/dist/middleware/trace.js +255 -255
- package/dist/utils/index.d.ts +2 -2
- package/dist/utils/index.js +7 -7
- package/dist/utils/logger.d.ts +26 -26
- package/dist/utils/logger.js +73 -73
- package/dist/utils/misc.d.ts +1 -1
- package/dist/utils/misc.js +9 -9
- package/jest.config.js +7 -7
- package/package.json +61 -61
- package/src/aws/config.ts +46 -46
- package/src/aws/define.ts +29 -29
- package/src/aws/index.ts +3 -3
- package/src/aws/simple.ts +547 -531
- package/src/index.ts +3 -3
- package/src/middleware/aws.ts +78 -78
- package/src/middleware/base.ts +164 -164
- package/src/middleware/build.ts +173 -173
- package/src/middleware/index.ts +20 -20
- package/src/middleware/logger.ts +28 -28
- package/src/middleware/mysql.ts +210 -210
- package/src/middleware/trace.ts +269 -269
- package/src/utils/index.ts +2 -2
- package/src/utils/logger.ts +94 -94
- package/src/utils/misc.ts +11 -11
- package/tsconfig.json +15 -15
- package/tslint.json +12 -12
package/dist/middleware/trace.js
CHANGED
|
@@ -1,255 +1,255 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __extends = (this && this.__extends) || (function () {
|
|
3
|
-
var extendStatics = function (d, b) {
|
|
4
|
-
extendStatics = Object.setPrototypeOf ||
|
|
5
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
-
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
7
|
-
return extendStatics(d, b);
|
|
8
|
-
};
|
|
9
|
-
return function (d, b) {
|
|
10
|
-
extendStatics(d, b);
|
|
11
|
-
function __() { this.constructor = d; }
|
|
12
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
13
|
-
};
|
|
14
|
-
})();
|
|
15
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
16
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
17
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
18
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
19
|
-
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
|
|
20
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
21
|
-
});
|
|
22
|
-
};
|
|
23
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
24
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
25
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
26
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
27
|
-
function step(op) {
|
|
28
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
29
|
-
while (_) try {
|
|
30
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
31
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
32
|
-
switch (op[0]) {
|
|
33
|
-
case 0: case 1: t = op; break;
|
|
34
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
35
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
36
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
37
|
-
default:
|
|
38
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
39
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
40
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
41
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
42
|
-
if (t[2]) _.ops.pop();
|
|
43
|
-
_.trys.pop(); continue;
|
|
44
|
-
}
|
|
45
|
-
op = body.call(thisArg, _);
|
|
46
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
47
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
48
|
-
}
|
|
49
|
-
};
|
|
50
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
51
|
-
var AWS = require("aws-sdk"); // tslint:disable-line
|
|
52
|
-
var uuid_1 = require("uuid");
|
|
53
|
-
var aws_1 = require("../aws");
|
|
54
|
-
var utils_1 = require("../utils");
|
|
55
|
-
var ts_enum_util_1 = require("ts-enum-util");
|
|
56
|
-
var base_1 = require("./base");
|
|
57
|
-
var logger = utils_1.getLogger(__filename);
|
|
58
|
-
var TracerLog = /** @class */ (function () {
|
|
59
|
-
function TracerLog(route, key, system, action, attribute, body, error, client, version) {
|
|
60
|
-
this.route = route;
|
|
61
|
-
this.key = key;
|
|
62
|
-
this.system = system;
|
|
63
|
-
this.action = action;
|
|
64
|
-
this.attribute = attribute;
|
|
65
|
-
this.body = body;
|
|
66
|
-
this.error = error;
|
|
67
|
-
this.client = client;
|
|
68
|
-
this.version = version;
|
|
69
|
-
this.uuid = uuid_1.v4();
|
|
70
|
-
this.timestamp = Date.now();
|
|
71
|
-
}
|
|
72
|
-
return TracerLog;
|
|
73
|
-
}());
|
|
74
|
-
exports.TracerLog = TracerLog;
|
|
75
|
-
var Tracer = /** @class */ (function () {
|
|
76
|
-
function Tracer(queueName, sqs) {
|
|
77
|
-
var _this = this;
|
|
78
|
-
this.push = function (log) { return _this.buffer.push(log); };
|
|
79
|
-
this.flush = function () { return __awaiter(_this, void 0, void 0, function () {
|
|
80
|
-
var urlResult, eventQueueUrl, chunkSize, begin, end, subset, sendBatchResult, error_1;
|
|
81
|
-
return __generator(this, function (_a) {
|
|
82
|
-
switch (_a.label) {
|
|
83
|
-
case 0:
|
|
84
|
-
if (this.buffer.length === 0) {
|
|
85
|
-
return [2 /*return*/];
|
|
86
|
-
}
|
|
87
|
-
_a.label = 1;
|
|
88
|
-
case 1:
|
|
89
|
-
_a.trys.push([1, 7, , 8]);
|
|
90
|
-
return [4 /*yield*/, this.sqs
|
|
91
|
-
.getQueueUrl({
|
|
92
|
-
QueueName: this.queueName,
|
|
93
|
-
})
|
|
94
|
-
.promise()];
|
|
95
|
-
case 2:
|
|
96
|
-
urlResult = _a.sent();
|
|
97
|
-
logger.stupid("urlResult", urlResult);
|
|
98
|
-
if (!urlResult.QueueUrl) {
|
|
99
|
-
throw new Error("No queue url with name[" + this.queueName + "]");
|
|
100
|
-
}
|
|
101
|
-
eventQueueUrl = urlResult.QueueUrl;
|
|
102
|
-
chunkSize = 10;
|
|
103
|
-
begin = 0;
|
|
104
|
-
_a.label = 3;
|
|
105
|
-
case 3:
|
|
106
|
-
if (!(begin < this.buffer.length)) return [3 /*break*/, 6];
|
|
107
|
-
end = Math.min(this.buffer.length, begin + chunkSize);
|
|
108
|
-
subset = this.buffer.slice(begin, end);
|
|
109
|
-
return [4 /*yield*/, this.sqs
|
|
110
|
-
.sendMessageBatch({
|
|
111
|
-
QueueUrl: eventQueueUrl,
|
|
112
|
-
Entries: subset.map(function (each) { return ({
|
|
113
|
-
Id: each.key + "_" + each.uuid,
|
|
114
|
-
MessageBody: JSON.stringify(each),
|
|
115
|
-
}); }),
|
|
116
|
-
})
|
|
117
|
-
.promise()];
|
|
118
|
-
case 4:
|
|
119
|
-
sendBatchResult = _a.sent();
|
|
120
|
-
logger.stupid("sendBatchResult", sendBatchResult);
|
|
121
|
-
_a.label = 5;
|
|
122
|
-
case 5:
|
|
123
|
-
begin += chunkSize;
|
|
124
|
-
return [3 /*break*/, 3];
|
|
125
|
-
case 6:
|
|
126
|
-
this.buffer = [];
|
|
127
|
-
return [3 /*break*/, 8];
|
|
128
|
-
case 7:
|
|
129
|
-
error_1 = _a.sent();
|
|
130
|
-
logger.warn("Error in eventSource: " + error_1);
|
|
131
|
-
return [3 /*break*/, 8];
|
|
132
|
-
case 8: return [2 /*return*/];
|
|
133
|
-
}
|
|
134
|
-
});
|
|
135
|
-
}); };
|
|
136
|
-
this.queueName = queueName;
|
|
137
|
-
this.sqs = sqs;
|
|
138
|
-
this.buffer = [];
|
|
139
|
-
}
|
|
140
|
-
return Tracer;
|
|
141
|
-
}());
|
|
142
|
-
exports.Tracer = Tracer;
|
|
143
|
-
var TracerWrapper = /** @class */ (function () {
|
|
144
|
-
function TracerWrapper(tracer, route, system, key, action, client, version) {
|
|
145
|
-
var _this = this;
|
|
146
|
-
this.tracer = tracer;
|
|
147
|
-
this.route = route;
|
|
148
|
-
this.system = system;
|
|
149
|
-
this.key = key;
|
|
150
|
-
this.action = action;
|
|
151
|
-
this.client = client;
|
|
152
|
-
this.version = version;
|
|
153
|
-
this.push = function (attribute, body, error) {
|
|
154
|
-
if (error === void 0) { error = false; }
|
|
155
|
-
_this.tracer.push(new TracerLog(_this.route, _this.key, _this.system, _this.action, attribute, body, error, _this.client, _this.version));
|
|
156
|
-
};
|
|
157
|
-
this.send = function (log) {
|
|
158
|
-
_this.tracer.push(new TracerLog(log.route || _this.route, log.key || _this.key, log.system || _this.system, log.action || _this.action, log.attribute, log.body, log.error || false, log.client || _this.client, log.version || _this.version));
|
|
159
|
-
};
|
|
160
|
-
}
|
|
161
|
-
return TracerWrapper;
|
|
162
|
-
}());
|
|
163
|
-
exports.TracerWrapper = TracerWrapper;
|
|
164
|
-
var TracerPlugin = /** @class */ (function (_super) {
|
|
165
|
-
__extends(TracerPlugin, _super);
|
|
166
|
-
function TracerPlugin(options) {
|
|
167
|
-
var _this = _super.call(this) || this;
|
|
168
|
-
_this.create = function () { return __awaiter(_this, void 0, void 0, function () {
|
|
169
|
-
var awsConfig, _a, sqs, tracer;
|
|
170
|
-
var _this = this;
|
|
171
|
-
return __generator(this, function (_b) {
|
|
172
|
-
switch (_b.label) {
|
|
173
|
-
case 0:
|
|
174
|
-
if (!this.options.awsConfig) return [3 /*break*/, 2];
|
|
175
|
-
return [4 /*yield*/, aws_1.loadAWSConfig(this.options.awsConfig)];
|
|
176
|
-
case 1:
|
|
177
|
-
_a = _b.sent();
|
|
178
|
-
return [3 /*break*/, 3];
|
|
179
|
-
case 2:
|
|
180
|
-
_a = undefined;
|
|
181
|
-
_b.label = 3;
|
|
182
|
-
case 3:
|
|
183
|
-
awsConfig = _a;
|
|
184
|
-
sqs = (function () {
|
|
185
|
-
if (!awsConfig) {
|
|
186
|
-
return new AWS.SQS({
|
|
187
|
-
region: _this.options.region,
|
|
188
|
-
});
|
|
189
|
-
}
|
|
190
|
-
ts_enum_util_1.$enum(aws_1.AWSComponent).forEach(function (eachComponent) {
|
|
191
|
-
var config = awsConfig.get(eachComponent);
|
|
192
|
-
if (config) {
|
|
193
|
-
config.region = _this.options.region;
|
|
194
|
-
}
|
|
195
|
-
});
|
|
196
|
-
return new aws_1.SimpleAWS(awsConfig).sqs;
|
|
197
|
-
})();
|
|
198
|
-
this.tracer = new Tracer(this.options.queueName, sqs);
|
|
199
|
-
tracer = function (key, action) {
|
|
200
|
-
_this.last = { key: key, action: action };
|
|
201
|
-
return new TracerWrapper(_this.tracer, _this.options.route, _this.options.system, key, action, _this.client.agent, _this.client.version);
|
|
202
|
-
};
|
|
203
|
-
return [2 /*return*/, { tracer: tracer }];
|
|
204
|
-
}
|
|
205
|
-
});
|
|
206
|
-
}); };
|
|
207
|
-
_this.begin = function (_a) {
|
|
208
|
-
var request = _a.request;
|
|
209
|
-
_this.client.version = request.header('X-Version') || '0.0.0';
|
|
210
|
-
_this.client.agent = (function () {
|
|
211
|
-
var fromHeader = request.header('User-Agent');
|
|
212
|
-
if (fromHeader) {
|
|
213
|
-
return fromHeader;
|
|
214
|
-
}
|
|
215
|
-
if (request.context &&
|
|
216
|
-
request.context.identity &&
|
|
217
|
-
request.context.identity.userAgent) {
|
|
218
|
-
return request.context.identity.userAgent;
|
|
219
|
-
}
|
|
220
|
-
return '';
|
|
221
|
-
})();
|
|
222
|
-
};
|
|
223
|
-
_this.end = function () { return _this.tracer.flush(); };
|
|
224
|
-
_this.error = function (_a) {
|
|
225
|
-
var request = _a.request, aux = _a.aux;
|
|
226
|
-
if (!aux) {
|
|
227
|
-
console.warn('Aux is not initialized');
|
|
228
|
-
return;
|
|
229
|
-
}
|
|
230
|
-
if (!request.lastError) {
|
|
231
|
-
return;
|
|
232
|
-
}
|
|
233
|
-
var _b = _this.last, key = _b.key, action = _b.action;
|
|
234
|
-
aux
|
|
235
|
-
.tracer(key, action)
|
|
236
|
-
.push('error', typeof request.lastError === 'string'
|
|
237
|
-
? request.lastError
|
|
238
|
-
: utils_1.stringifyError(request.lastError), true);
|
|
239
|
-
};
|
|
240
|
-
_this.options = options;
|
|
241
|
-
_this.last = {
|
|
242
|
-
key: 'nothing',
|
|
243
|
-
action: 'unknown',
|
|
244
|
-
};
|
|
245
|
-
_this.client = {
|
|
246
|
-
agent: '',
|
|
247
|
-
version: '',
|
|
248
|
-
};
|
|
249
|
-
return _this;
|
|
250
|
-
}
|
|
251
|
-
return TracerPlugin;
|
|
252
|
-
}(base_1.HandlerPluginBase));
|
|
253
|
-
exports.TracerPlugin = TracerPlugin;
|
|
254
|
-
var build = function (options) { return new TracerPlugin(options); };
|
|
255
|
-
exports.default = build;
|
|
1
|
+
"use strict";
|
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
|
3
|
+
var extendStatics = function (d, b) {
|
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
+
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
9
|
+
return function (d, b) {
|
|
10
|
+
extendStatics(d, b);
|
|
11
|
+
function __() { this.constructor = d; }
|
|
12
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
13
|
+
};
|
|
14
|
+
})();
|
|
15
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
16
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
17
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
18
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
19
|
+
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
|
|
20
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
24
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
25
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
26
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
27
|
+
function step(op) {
|
|
28
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
29
|
+
while (_) try {
|
|
30
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
31
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
32
|
+
switch (op[0]) {
|
|
33
|
+
case 0: case 1: t = op; break;
|
|
34
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
35
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
36
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
37
|
+
default:
|
|
38
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
39
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
40
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
41
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
42
|
+
if (t[2]) _.ops.pop();
|
|
43
|
+
_.trys.pop(); continue;
|
|
44
|
+
}
|
|
45
|
+
op = body.call(thisArg, _);
|
|
46
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
47
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
51
|
+
var AWS = require("aws-sdk"); // tslint:disable-line
|
|
52
|
+
var uuid_1 = require("uuid");
|
|
53
|
+
var aws_1 = require("../aws");
|
|
54
|
+
var utils_1 = require("../utils");
|
|
55
|
+
var ts_enum_util_1 = require("ts-enum-util");
|
|
56
|
+
var base_1 = require("./base");
|
|
57
|
+
var logger = utils_1.getLogger(__filename);
|
|
58
|
+
var TracerLog = /** @class */ (function () {
|
|
59
|
+
function TracerLog(route, key, system, action, attribute, body, error, client, version) {
|
|
60
|
+
this.route = route;
|
|
61
|
+
this.key = key;
|
|
62
|
+
this.system = system;
|
|
63
|
+
this.action = action;
|
|
64
|
+
this.attribute = attribute;
|
|
65
|
+
this.body = body;
|
|
66
|
+
this.error = error;
|
|
67
|
+
this.client = client;
|
|
68
|
+
this.version = version;
|
|
69
|
+
this.uuid = uuid_1.v4();
|
|
70
|
+
this.timestamp = Date.now();
|
|
71
|
+
}
|
|
72
|
+
return TracerLog;
|
|
73
|
+
}());
|
|
74
|
+
exports.TracerLog = TracerLog;
|
|
75
|
+
var Tracer = /** @class */ (function () {
|
|
76
|
+
function Tracer(queueName, sqs) {
|
|
77
|
+
var _this = this;
|
|
78
|
+
this.push = function (log) { return _this.buffer.push(log); };
|
|
79
|
+
this.flush = function () { return __awaiter(_this, void 0, void 0, function () {
|
|
80
|
+
var urlResult, eventQueueUrl, chunkSize, begin, end, subset, sendBatchResult, error_1;
|
|
81
|
+
return __generator(this, function (_a) {
|
|
82
|
+
switch (_a.label) {
|
|
83
|
+
case 0:
|
|
84
|
+
if (this.buffer.length === 0) {
|
|
85
|
+
return [2 /*return*/];
|
|
86
|
+
}
|
|
87
|
+
_a.label = 1;
|
|
88
|
+
case 1:
|
|
89
|
+
_a.trys.push([1, 7, , 8]);
|
|
90
|
+
return [4 /*yield*/, this.sqs
|
|
91
|
+
.getQueueUrl({
|
|
92
|
+
QueueName: this.queueName,
|
|
93
|
+
})
|
|
94
|
+
.promise()];
|
|
95
|
+
case 2:
|
|
96
|
+
urlResult = _a.sent();
|
|
97
|
+
logger.stupid("urlResult", urlResult);
|
|
98
|
+
if (!urlResult.QueueUrl) {
|
|
99
|
+
throw new Error("No queue url with name[" + this.queueName + "]");
|
|
100
|
+
}
|
|
101
|
+
eventQueueUrl = urlResult.QueueUrl;
|
|
102
|
+
chunkSize = 10;
|
|
103
|
+
begin = 0;
|
|
104
|
+
_a.label = 3;
|
|
105
|
+
case 3:
|
|
106
|
+
if (!(begin < this.buffer.length)) return [3 /*break*/, 6];
|
|
107
|
+
end = Math.min(this.buffer.length, begin + chunkSize);
|
|
108
|
+
subset = this.buffer.slice(begin, end);
|
|
109
|
+
return [4 /*yield*/, this.sqs
|
|
110
|
+
.sendMessageBatch({
|
|
111
|
+
QueueUrl: eventQueueUrl,
|
|
112
|
+
Entries: subset.map(function (each) { return ({
|
|
113
|
+
Id: each.key + "_" + each.uuid,
|
|
114
|
+
MessageBody: JSON.stringify(each),
|
|
115
|
+
}); }),
|
|
116
|
+
})
|
|
117
|
+
.promise()];
|
|
118
|
+
case 4:
|
|
119
|
+
sendBatchResult = _a.sent();
|
|
120
|
+
logger.stupid("sendBatchResult", sendBatchResult);
|
|
121
|
+
_a.label = 5;
|
|
122
|
+
case 5:
|
|
123
|
+
begin += chunkSize;
|
|
124
|
+
return [3 /*break*/, 3];
|
|
125
|
+
case 6:
|
|
126
|
+
this.buffer = [];
|
|
127
|
+
return [3 /*break*/, 8];
|
|
128
|
+
case 7:
|
|
129
|
+
error_1 = _a.sent();
|
|
130
|
+
logger.warn("Error in eventSource: " + error_1);
|
|
131
|
+
return [3 /*break*/, 8];
|
|
132
|
+
case 8: return [2 /*return*/];
|
|
133
|
+
}
|
|
134
|
+
});
|
|
135
|
+
}); };
|
|
136
|
+
this.queueName = queueName;
|
|
137
|
+
this.sqs = sqs;
|
|
138
|
+
this.buffer = [];
|
|
139
|
+
}
|
|
140
|
+
return Tracer;
|
|
141
|
+
}());
|
|
142
|
+
exports.Tracer = Tracer;
|
|
143
|
+
var TracerWrapper = /** @class */ (function () {
|
|
144
|
+
function TracerWrapper(tracer, route, system, key, action, client, version) {
|
|
145
|
+
var _this = this;
|
|
146
|
+
this.tracer = tracer;
|
|
147
|
+
this.route = route;
|
|
148
|
+
this.system = system;
|
|
149
|
+
this.key = key;
|
|
150
|
+
this.action = action;
|
|
151
|
+
this.client = client;
|
|
152
|
+
this.version = version;
|
|
153
|
+
this.push = function (attribute, body, error) {
|
|
154
|
+
if (error === void 0) { error = false; }
|
|
155
|
+
_this.tracer.push(new TracerLog(_this.route, _this.key, _this.system, _this.action, attribute, body, error, _this.client, _this.version));
|
|
156
|
+
};
|
|
157
|
+
this.send = function (log) {
|
|
158
|
+
_this.tracer.push(new TracerLog(log.route || _this.route, log.key || _this.key, log.system || _this.system, log.action || _this.action, log.attribute, log.body, log.error || false, log.client || _this.client, log.version || _this.version));
|
|
159
|
+
};
|
|
160
|
+
}
|
|
161
|
+
return TracerWrapper;
|
|
162
|
+
}());
|
|
163
|
+
exports.TracerWrapper = TracerWrapper;
|
|
164
|
+
var TracerPlugin = /** @class */ (function (_super) {
|
|
165
|
+
__extends(TracerPlugin, _super);
|
|
166
|
+
function TracerPlugin(options) {
|
|
167
|
+
var _this = _super.call(this) || this;
|
|
168
|
+
_this.create = function () { return __awaiter(_this, void 0, void 0, function () {
|
|
169
|
+
var awsConfig, _a, sqs, tracer;
|
|
170
|
+
var _this = this;
|
|
171
|
+
return __generator(this, function (_b) {
|
|
172
|
+
switch (_b.label) {
|
|
173
|
+
case 0:
|
|
174
|
+
if (!this.options.awsConfig) return [3 /*break*/, 2];
|
|
175
|
+
return [4 /*yield*/, aws_1.loadAWSConfig(this.options.awsConfig)];
|
|
176
|
+
case 1:
|
|
177
|
+
_a = _b.sent();
|
|
178
|
+
return [3 /*break*/, 3];
|
|
179
|
+
case 2:
|
|
180
|
+
_a = undefined;
|
|
181
|
+
_b.label = 3;
|
|
182
|
+
case 3:
|
|
183
|
+
awsConfig = _a;
|
|
184
|
+
sqs = (function () {
|
|
185
|
+
if (!awsConfig) {
|
|
186
|
+
return new AWS.SQS({
|
|
187
|
+
region: _this.options.region,
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
ts_enum_util_1.$enum(aws_1.AWSComponent).forEach(function (eachComponent) {
|
|
191
|
+
var config = awsConfig.get(eachComponent);
|
|
192
|
+
if (config) {
|
|
193
|
+
config.region = _this.options.region;
|
|
194
|
+
}
|
|
195
|
+
});
|
|
196
|
+
return new aws_1.SimpleAWS(awsConfig).sqs;
|
|
197
|
+
})();
|
|
198
|
+
this.tracer = new Tracer(this.options.queueName, sqs);
|
|
199
|
+
tracer = function (key, action) {
|
|
200
|
+
_this.last = { key: key, action: action };
|
|
201
|
+
return new TracerWrapper(_this.tracer, _this.options.route, _this.options.system, key, action, _this.client.agent, _this.client.version);
|
|
202
|
+
};
|
|
203
|
+
return [2 /*return*/, { tracer: tracer }];
|
|
204
|
+
}
|
|
205
|
+
});
|
|
206
|
+
}); };
|
|
207
|
+
_this.begin = function (_a) {
|
|
208
|
+
var request = _a.request;
|
|
209
|
+
_this.client.version = request.header('X-Version') || '0.0.0';
|
|
210
|
+
_this.client.agent = (function () {
|
|
211
|
+
var fromHeader = request.header('User-Agent');
|
|
212
|
+
if (fromHeader) {
|
|
213
|
+
return fromHeader;
|
|
214
|
+
}
|
|
215
|
+
if (request.context &&
|
|
216
|
+
request.context.identity &&
|
|
217
|
+
request.context.identity.userAgent) {
|
|
218
|
+
return request.context.identity.userAgent;
|
|
219
|
+
}
|
|
220
|
+
return '';
|
|
221
|
+
})();
|
|
222
|
+
};
|
|
223
|
+
_this.end = function () { return _this.tracer.flush(); };
|
|
224
|
+
_this.error = function (_a) {
|
|
225
|
+
var request = _a.request, aux = _a.aux;
|
|
226
|
+
if (!aux) {
|
|
227
|
+
console.warn('Aux is not initialized');
|
|
228
|
+
return;
|
|
229
|
+
}
|
|
230
|
+
if (!request.lastError) {
|
|
231
|
+
return;
|
|
232
|
+
}
|
|
233
|
+
var _b = _this.last, key = _b.key, action = _b.action;
|
|
234
|
+
aux
|
|
235
|
+
.tracer(key, action)
|
|
236
|
+
.push('error', typeof request.lastError === 'string'
|
|
237
|
+
? request.lastError
|
|
238
|
+
: utils_1.stringifyError(request.lastError), true);
|
|
239
|
+
};
|
|
240
|
+
_this.options = options;
|
|
241
|
+
_this.last = {
|
|
242
|
+
key: 'nothing',
|
|
243
|
+
action: 'unknown',
|
|
244
|
+
};
|
|
245
|
+
_this.client = {
|
|
246
|
+
agent: '',
|
|
247
|
+
version: '',
|
|
248
|
+
};
|
|
249
|
+
return _this;
|
|
250
|
+
}
|
|
251
|
+
return TracerPlugin;
|
|
252
|
+
}(base_1.HandlerPluginBase));
|
|
253
|
+
exports.TracerPlugin = TracerPlugin;
|
|
254
|
+
var build = function (options) { return new TracerPlugin(options); };
|
|
255
|
+
exports.default = build;
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './logger';
|
|
2
|
-
export * from './misc';
|
|
1
|
+
export * from './logger';
|
|
2
|
+
export * from './misc';
|
package/dist/utils/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
function __export(m) {
|
|
3
|
-
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
|
|
4
|
-
}
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
__export(require("./logger"));
|
|
7
|
-
__export(require("./misc"));
|
|
1
|
+
"use strict";
|
|
2
|
+
function __export(m) {
|
|
3
|
+
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
|
|
4
|
+
}
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
__export(require("./logger"));
|
|
7
|
+
__export(require("./misc"));
|
package/dist/utils/logger.d.ts
CHANGED
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
export declare enum LogLevel {
|
|
2
|
-
Error = "error",
|
|
3
|
-
Warn = "warn",
|
|
4
|
-
Info = "info",
|
|
5
|
-
Debug = "debug",
|
|
6
|
-
Verbose = "verbose",
|
|
7
|
-
Silly = "silly",
|
|
8
|
-
Stupid = "stupid"
|
|
9
|
-
}
|
|
10
|
-
export declare const currentLogLevel: LogLevel;
|
|
11
|
-
declare type LogMessage = string | Error;
|
|
12
|
-
export declare class Logger {
|
|
13
|
-
private name;
|
|
14
|
-
private severity;
|
|
15
|
-
constructor(name: string, level?: LogLevel);
|
|
16
|
-
log: (level: LogLevel, message: LogMessage) => LogMessage;
|
|
17
|
-
error: (message: LogMessage) => LogMessage;
|
|
18
|
-
warn: (message: LogMessage) => LogMessage;
|
|
19
|
-
info: (message: LogMessage) => LogMessage;
|
|
20
|
-
debug: (message: LogMessage) => LogMessage;
|
|
21
|
-
verbose: (message: LogMessage) => LogMessage;
|
|
22
|
-
silly: (message: LogMessage) => LogMessage;
|
|
23
|
-
stupid: <T>(message: string, object: T, replacer?: ((key: string, value: T) => T) | undefined) => T;
|
|
24
|
-
}
|
|
25
|
-
export declare const getLogger: (fileName: string, level?: LogLevel | undefined) => Logger;
|
|
26
|
-
export {};
|
|
1
|
+
export declare enum LogLevel {
|
|
2
|
+
Error = "error",
|
|
3
|
+
Warn = "warn",
|
|
4
|
+
Info = "info",
|
|
5
|
+
Debug = "debug",
|
|
6
|
+
Verbose = "verbose",
|
|
7
|
+
Silly = "silly",
|
|
8
|
+
Stupid = "stupid"
|
|
9
|
+
}
|
|
10
|
+
export declare const currentLogLevel: LogLevel;
|
|
11
|
+
declare type LogMessage = string | Error;
|
|
12
|
+
export declare class Logger {
|
|
13
|
+
private name;
|
|
14
|
+
private severity;
|
|
15
|
+
constructor(name: string, level?: LogLevel);
|
|
16
|
+
log: (level: LogLevel, message: LogMessage) => LogMessage;
|
|
17
|
+
error: (message: LogMessage) => LogMessage;
|
|
18
|
+
warn: (message: LogMessage) => LogMessage;
|
|
19
|
+
info: (message: LogMessage) => LogMessage;
|
|
20
|
+
debug: (message: LogMessage) => LogMessage;
|
|
21
|
+
verbose: (message: LogMessage) => LogMessage;
|
|
22
|
+
silly: (message: LogMessage) => LogMessage;
|
|
23
|
+
stupid: <T>(message: string, object: T, replacer?: ((key: string, value: T) => T) | undefined) => T;
|
|
24
|
+
}
|
|
25
|
+
export declare const getLogger: (fileName: string, level?: LogLevel | undefined) => Logger;
|
|
26
|
+
export {};
|