serverless-simple-middleware 0.0.48 → 0.0.50-beta.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/package.json +1 -1
- package/src/middleware/build.ts +1 -0
- package/src/middleware/trace.ts +2 -0
- package/dist/aws/config.d.ts +0 -15
- package/dist/aws/config.js +0 -29
- package/dist/aws/define.d.ts +0 -21
- package/dist/aws/define.js +0 -8
- package/dist/aws/index.d.ts +0 -3
- package/dist/aws/index.js +0 -8
- package/dist/aws/simple.d.ts +0 -42
- package/dist/aws/simple.js +0 -589
- package/dist/index.d.ts +0 -3
- package/dist/index.js +0 -8
- package/dist/middleware/aws.d.ts +0 -25
- package/dist/middleware/aws.js +0 -128
- package/dist/middleware/base.d.ts +0 -54
- package/dist/middleware/base.js +0 -139
- package/dist/middleware/build.d.ts +0 -3
- package/dist/middleware/build.js +0 -234
- package/dist/middleware/index.d.ts +0 -12
- package/dist/middleware/index.js +0 -22
- package/dist/middleware/logger.d.ts +0 -18
- package/dist/middleware/logger.js +0 -71
- package/dist/middleware/mysql.d.ts +0 -44
- package/dist/middleware/mysql.js +0 -289
- package/dist/middleware/trace.d.ts +0 -86
- package/dist/middleware/trace.js +0 -253
- package/dist/utils/index.d.ts +0 -2
- package/dist/utils/index.js +0 -7
- package/dist/utils/logger.d.ts +0 -26
- package/dist/utils/logger.js +0 -73
- package/dist/utils/misc.d.ts +0 -1
- package/dist/utils/misc.js +0 -9
package/dist/middleware/aws.js
DELETED
|
@@ -1,128 +0,0 @@
|
|
|
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 __assign = (this && this.__assign) || function () {
|
|
16
|
-
__assign = Object.assign || function(t) {
|
|
17
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
18
|
-
s = arguments[i];
|
|
19
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
20
|
-
t[p] = s[p];
|
|
21
|
-
}
|
|
22
|
-
return t;
|
|
23
|
-
};
|
|
24
|
-
return __assign.apply(this, arguments);
|
|
25
|
-
};
|
|
26
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
27
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
28
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
29
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
30
|
-
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
|
|
31
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
|
-
});
|
|
33
|
-
};
|
|
34
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
35
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
36
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
37
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
38
|
-
function step(op) {
|
|
39
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
40
|
-
while (_) try {
|
|
41
|
-
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;
|
|
42
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
43
|
-
switch (op[0]) {
|
|
44
|
-
case 0: case 1: t = op; break;
|
|
45
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
46
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
47
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
48
|
-
default:
|
|
49
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
50
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
51
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
52
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
53
|
-
if (t[2]) _.ops.pop();
|
|
54
|
-
_.trys.pop(); continue;
|
|
55
|
-
}
|
|
56
|
-
op = body.call(thisArg, _);
|
|
57
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
58
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
59
|
-
}
|
|
60
|
-
};
|
|
61
|
-
var _this = this;
|
|
62
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
63
|
-
var aws_1 = require("../aws");
|
|
64
|
-
var utils_1 = require("../utils");
|
|
65
|
-
var base_1 = require("./base");
|
|
66
|
-
var logger = utils_1.getLogger(__filename);
|
|
67
|
-
var initialize = function (aws, mapper) { return __awaiter(_this, void 0, void 0, function () {
|
|
68
|
-
var env, mapping, successes;
|
|
69
|
-
return __generator(this, function (_a) {
|
|
70
|
-
switch (_a.label) {
|
|
71
|
-
case 0:
|
|
72
|
-
env = process.env;
|
|
73
|
-
mapping = mapper(aws, env);
|
|
74
|
-
return [4 /*yield*/, Promise.all(Object.keys(mapping).map(function (name) { return mapping[name](); }))];
|
|
75
|
-
case 1:
|
|
76
|
-
successes = _a.sent();
|
|
77
|
-
return [2 /*return*/, Object.keys(mapping).reduce(function (result, name, index) {
|
|
78
|
-
var _a;
|
|
79
|
-
return (__assign({}, result, (_a = {}, _a[name] = successes[index], _a)));
|
|
80
|
-
}, {})];
|
|
81
|
-
}
|
|
82
|
-
});
|
|
83
|
-
}); };
|
|
84
|
-
var AWSPlugin = /** @class */ (function (_super) {
|
|
85
|
-
__extends(AWSPlugin, _super);
|
|
86
|
-
function AWSPlugin(options) {
|
|
87
|
-
var _this = _super.call(this) || this;
|
|
88
|
-
_this.create = function () { return __awaiter(_this, void 0, void 0, function () {
|
|
89
|
-
var _a, config, mapper, _b;
|
|
90
|
-
return __generator(this, function (_c) {
|
|
91
|
-
switch (_c.label) {
|
|
92
|
-
case 0:
|
|
93
|
-
if (!!this.aws) return [3 /*break*/, 4];
|
|
94
|
-
_a = this.options || {
|
|
95
|
-
config: undefined,
|
|
96
|
-
mapper: undefined,
|
|
97
|
-
}, config = _a.config, mapper = _a.mapper;
|
|
98
|
-
if (!config) return [3 /*break*/, 2];
|
|
99
|
-
logger.debug("Load aws config from " + config);
|
|
100
|
-
_b = this;
|
|
101
|
-
return [4 /*yield*/, aws_1.loadAWSConfig(config)];
|
|
102
|
-
case 1:
|
|
103
|
-
_b.config = _c.sent();
|
|
104
|
-
_c.label = 2;
|
|
105
|
-
case 2:
|
|
106
|
-
this.aws = new aws_1.SimpleAWS(this.config);
|
|
107
|
-
if (!mapper) return [3 /*break*/, 4];
|
|
108
|
-
logger.debug("Initialize aws components with mapper.");
|
|
109
|
-
return [4 /*yield*/, initialize(this.aws, mapper)];
|
|
110
|
-
case 3:
|
|
111
|
-
_c.sent();
|
|
112
|
-
_c.label = 4;
|
|
113
|
-
case 4: return [2 /*return*/, {
|
|
114
|
-
aws: this.aws,
|
|
115
|
-
awsConfig: this.config,
|
|
116
|
-
}];
|
|
117
|
-
}
|
|
118
|
-
});
|
|
119
|
-
}); };
|
|
120
|
-
_this.options = options;
|
|
121
|
-
_this.config = new aws_1.SimpleAWSConfig();
|
|
122
|
-
return _this;
|
|
123
|
-
}
|
|
124
|
-
return AWSPlugin;
|
|
125
|
-
}(base_1.HandlerPluginBase));
|
|
126
|
-
exports.AWSPlugin = AWSPlugin;
|
|
127
|
-
var build = function (options) { return new AWSPlugin(options); };
|
|
128
|
-
exports.default = build;
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import * as awsTypes from 'aws-lambda';
|
|
2
|
-
export interface RequestAuxBase {
|
|
3
|
-
[pluginName: string]: any;
|
|
4
|
-
}
|
|
5
|
-
export declare class HandlerRequest {
|
|
6
|
-
event: awsTypes.APIGatewayEvent;
|
|
7
|
-
context: awsTypes.APIGatewayEventRequestContext;
|
|
8
|
-
lastError: Error | string | undefined;
|
|
9
|
-
private lazyBody?;
|
|
10
|
-
constructor(event: any, context: any);
|
|
11
|
-
readonly body: any;
|
|
12
|
-
readonly path: {
|
|
13
|
-
[key: string]: string;
|
|
14
|
-
};
|
|
15
|
-
readonly query: {
|
|
16
|
-
[key: string]: string;
|
|
17
|
-
};
|
|
18
|
-
header(key: string): string | undefined;
|
|
19
|
-
records<T, U>(selector?: (each: T) => U): T[] | U[];
|
|
20
|
-
}
|
|
21
|
-
export declare class HandlerResponse {
|
|
22
|
-
callback: any;
|
|
23
|
-
completed: boolean;
|
|
24
|
-
result: any | Promise<any> | undefined;
|
|
25
|
-
private corsHeaders;
|
|
26
|
-
private cookies;
|
|
27
|
-
private crossOrigin?;
|
|
28
|
-
constructor(callback: any);
|
|
29
|
-
ok(body?: {}, code?: number): any;
|
|
30
|
-
fail(body?: {}, code?: number): any;
|
|
31
|
-
addCookie(key: string, value: string, domain?: string, specifyCrossOrigin?: true): void;
|
|
32
|
-
setCrossOrigin: (origin?: string | undefined) => void;
|
|
33
|
-
}
|
|
34
|
-
export interface HandlerAuxBase {
|
|
35
|
-
[key: string]: any;
|
|
36
|
-
}
|
|
37
|
-
export interface HandlerContext<A extends HandlerAuxBase> {
|
|
38
|
-
request: HandlerRequest;
|
|
39
|
-
response: HandlerResponse;
|
|
40
|
-
aux: A;
|
|
41
|
-
}
|
|
42
|
-
export declare type Handler<A extends HandlerAuxBase> = (context: HandlerContext<A>) => any | Promise<any> | undefined;
|
|
43
|
-
export interface HandlerPlugin<A extends HandlerAuxBase> {
|
|
44
|
-
create: () => Promise<A> | A;
|
|
45
|
-
begin: Handler<A>;
|
|
46
|
-
end: Handler<A>;
|
|
47
|
-
error: Handler<A>;
|
|
48
|
-
}
|
|
49
|
-
export declare class HandlerPluginBase<A extends HandlerAuxBase> implements HandlerPlugin<A> {
|
|
50
|
-
create: () => A | Promise<A>;
|
|
51
|
-
begin: (_: HandlerContext<A>) => void;
|
|
52
|
-
end: (_: HandlerContext<A>) => void;
|
|
53
|
-
error: (_: HandlerContext<A>) => void;
|
|
54
|
-
}
|
package/dist/middleware/base.js
DELETED
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
-
var logger_1 = require("../utils/logger");
|
|
15
|
-
var logger = logger_1.getLogger(__filename);
|
|
16
|
-
var HandlerRequest = /** @class */ (function () {
|
|
17
|
-
function HandlerRequest(event, context) {
|
|
18
|
-
this.event = event;
|
|
19
|
-
this.context = context;
|
|
20
|
-
this.lastError = undefined;
|
|
21
|
-
}
|
|
22
|
-
Object.defineProperty(HandlerRequest.prototype, "body", {
|
|
23
|
-
get: function () {
|
|
24
|
-
if (!this.event.body) {
|
|
25
|
-
return {};
|
|
26
|
-
}
|
|
27
|
-
if (this.lazyBody === undefined) {
|
|
28
|
-
this.lazyBody = JSON.parse(this.event.body);
|
|
29
|
-
}
|
|
30
|
-
return this.lazyBody || {};
|
|
31
|
-
},
|
|
32
|
-
enumerable: true,
|
|
33
|
-
configurable: true
|
|
34
|
-
});
|
|
35
|
-
Object.defineProperty(HandlerRequest.prototype, "path", {
|
|
36
|
-
get: function () {
|
|
37
|
-
return this.event.pathParameters || {};
|
|
38
|
-
},
|
|
39
|
-
enumerable: true,
|
|
40
|
-
configurable: true
|
|
41
|
-
});
|
|
42
|
-
Object.defineProperty(HandlerRequest.prototype, "query", {
|
|
43
|
-
get: function () {
|
|
44
|
-
return this.event.queryStringParameters || {};
|
|
45
|
-
},
|
|
46
|
-
enumerable: true,
|
|
47
|
-
configurable: true
|
|
48
|
-
});
|
|
49
|
-
HandlerRequest.prototype.header = function (key) {
|
|
50
|
-
return this.event.headers
|
|
51
|
-
? this.event.headers[key] || this.event.headers[key.toLowerCase()]
|
|
52
|
-
: undefined;
|
|
53
|
-
};
|
|
54
|
-
HandlerRequest.prototype.records = function (selector) {
|
|
55
|
-
var target = (this.event.Records || []);
|
|
56
|
-
return selector === undefined ? target : target.map(selector);
|
|
57
|
-
};
|
|
58
|
-
return HandlerRequest;
|
|
59
|
-
}());
|
|
60
|
-
exports.HandlerRequest = HandlerRequest;
|
|
61
|
-
var HandlerResponse = /** @class */ (function () {
|
|
62
|
-
function HandlerResponse(callback) {
|
|
63
|
-
var _this = this;
|
|
64
|
-
this.setCrossOrigin = function (origin) {
|
|
65
|
-
_this.crossOrigin = origin;
|
|
66
|
-
};
|
|
67
|
-
this.callback = callback;
|
|
68
|
-
this.completed = false;
|
|
69
|
-
this.corsHeaders = {
|
|
70
|
-
'Access-Control-Allow-Origin': '*',
|
|
71
|
-
'Access-Control-Allow-Headers': 'X-Version',
|
|
72
|
-
'Access-Control-Allow-Credentials': true,
|
|
73
|
-
};
|
|
74
|
-
this.cookies = [];
|
|
75
|
-
}
|
|
76
|
-
HandlerResponse.prototype.ok = function (body, code) {
|
|
77
|
-
if (body === void 0) { body = {}; }
|
|
78
|
-
if (code === void 0) { code = 200; }
|
|
79
|
-
logger.stupid("ok", body);
|
|
80
|
-
var headers = __assign({}, this.corsHeaders);
|
|
81
|
-
if (this.crossOrigin) {
|
|
82
|
-
headers['Access-Control-Allow-Origin'] = this.crossOrigin;
|
|
83
|
-
}
|
|
84
|
-
var multiValueHeaders = undefined;
|
|
85
|
-
if (this.cookies.length > 0) {
|
|
86
|
-
multiValueHeaders = { 'Set-Cookie': this.cookies };
|
|
87
|
-
}
|
|
88
|
-
var result = this.callback(null, {
|
|
89
|
-
statusCode: code,
|
|
90
|
-
headers: headers,
|
|
91
|
-
multiValueHeaders: multiValueHeaders,
|
|
92
|
-
body: JSON.stringify(body),
|
|
93
|
-
});
|
|
94
|
-
this.completed = true;
|
|
95
|
-
return result;
|
|
96
|
-
};
|
|
97
|
-
HandlerResponse.prototype.fail = function (body, code) {
|
|
98
|
-
if (body === void 0) { body = {}; }
|
|
99
|
-
if (code === void 0) { code = 500; }
|
|
100
|
-
logger.stupid("fail", body);
|
|
101
|
-
var result = this.callback(null, {
|
|
102
|
-
statusCode: code,
|
|
103
|
-
headers: this.corsHeaders,
|
|
104
|
-
body: JSON.stringify(body),
|
|
105
|
-
});
|
|
106
|
-
this.completed = true;
|
|
107
|
-
return result;
|
|
108
|
-
};
|
|
109
|
-
HandlerResponse.prototype.addCookie = function (key, value, domain, specifyCrossOrigin) {
|
|
110
|
-
var keyValueStr = key + "=" + value;
|
|
111
|
-
var domainStr = domain ? "Domain=" + domain : '';
|
|
112
|
-
var sameSiteStr = specifyCrossOrigin ? 'SameSite=None' : '';
|
|
113
|
-
var secureStr = specifyCrossOrigin ? 'Secure' : '';
|
|
114
|
-
var cookieStr = [keyValueStr, domainStr, sameSiteStr, secureStr]
|
|
115
|
-
.filter(function (x) { return x; })
|
|
116
|
-
.join('; ');
|
|
117
|
-
this.cookies.push(cookieStr);
|
|
118
|
-
};
|
|
119
|
-
return HandlerResponse;
|
|
120
|
-
}());
|
|
121
|
-
exports.HandlerResponse = HandlerResponse;
|
|
122
|
-
var HandlerPluginBase = /** @class */ (function () {
|
|
123
|
-
function HandlerPluginBase() {
|
|
124
|
-
this.create = function () {
|
|
125
|
-
throw new Error('Not yet implemented');
|
|
126
|
-
};
|
|
127
|
-
this.begin = function (_) {
|
|
128
|
-
// do nothing
|
|
129
|
-
};
|
|
130
|
-
this.end = function (_) {
|
|
131
|
-
// do nothing
|
|
132
|
-
};
|
|
133
|
-
this.error = function (_) {
|
|
134
|
-
// do nothing
|
|
135
|
-
};
|
|
136
|
-
}
|
|
137
|
-
return HandlerPluginBase;
|
|
138
|
-
}());
|
|
139
|
-
exports.HandlerPluginBase = HandlerPluginBase;
|
package/dist/middleware/build.js
DELETED
|
@@ -1,234 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
14
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
15
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
16
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
17
|
-
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
|
|
18
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
19
|
-
});
|
|
20
|
-
};
|
|
21
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
22
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
23
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
24
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
25
|
-
function step(op) {
|
|
26
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
27
|
-
while (_) try {
|
|
28
|
-
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;
|
|
29
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
30
|
-
switch (op[0]) {
|
|
31
|
-
case 0: case 1: t = op; break;
|
|
32
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
33
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
34
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
35
|
-
default:
|
|
36
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
37
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
38
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
39
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
40
|
-
if (t[2]) _.ops.pop();
|
|
41
|
-
_.trys.pop(); continue;
|
|
42
|
-
}
|
|
43
|
-
op = body.call(thisArg, _);
|
|
44
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
45
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
46
|
-
}
|
|
47
|
-
};
|
|
48
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
49
|
-
var logger_1 = require("../utils/logger");
|
|
50
|
-
var utils_1 = require("../utils");
|
|
51
|
-
var base_1 = require("./base");
|
|
52
|
-
var logger = logger_1.getLogger(__filename);
|
|
53
|
-
var HandlerMiddleware = /** @class */ (function () {
|
|
54
|
-
function HandlerMiddleware(plugins) {
|
|
55
|
-
var _this = this;
|
|
56
|
-
this.createAuxPromise = function () {
|
|
57
|
-
return !_this.plugins || _this.plugins.length === 0
|
|
58
|
-
? Promise.resolve({}) // tslint:disable-line
|
|
59
|
-
: Promise.all(_this.plugins.map(function (plugin) {
|
|
60
|
-
var maybePromise = plugin.create();
|
|
61
|
-
return maybePromise instanceof Promise
|
|
62
|
-
? maybePromise
|
|
63
|
-
: Promise.resolve(maybePromise);
|
|
64
|
-
})).then(function (auxes) { return auxes.reduce(function (all, each) { return (__assign({}, all, each)); }, {}); });
|
|
65
|
-
};
|
|
66
|
-
this.plugins = plugins;
|
|
67
|
-
this.auxPromise = this.createAuxPromise();
|
|
68
|
-
}
|
|
69
|
-
return HandlerMiddleware;
|
|
70
|
-
}());
|
|
71
|
-
var HandlerProxy = /** @class */ (function () {
|
|
72
|
-
function HandlerProxy(event, context, callback) {
|
|
73
|
-
var _this = this;
|
|
74
|
-
this.call = function (middleware, handler) { return __awaiter(_this, void 0, void 0, function () {
|
|
75
|
-
var _a, error_1, actualHandler, beginHandlers, endHandlers, errorHandlers, iterate, results, _b, _c, _d, _i, results_1, each;
|
|
76
|
-
var _this = this;
|
|
77
|
-
return __generator(this, function (_e) {
|
|
78
|
-
switch (_e.label) {
|
|
79
|
-
case 0:
|
|
80
|
-
_e.trys.push([0, 2, , 3]);
|
|
81
|
-
_a = this;
|
|
82
|
-
return [4 /*yield*/, middleware.auxPromise];
|
|
83
|
-
case 1:
|
|
84
|
-
_a.aux = _e.sent();
|
|
85
|
-
return [3 /*break*/, 3];
|
|
86
|
-
case 2:
|
|
87
|
-
error_1 = _e.sent();
|
|
88
|
-
logger.error("Error while initializing plugins' aux: " + utils_1.stringifyError(error_1));
|
|
89
|
-
this.response.fail(error_1 instanceof Error ? { error: error_1.message } : error_1);
|
|
90
|
-
return [2 /*return*/, [error_1]];
|
|
91
|
-
case 3:
|
|
92
|
-
actualHandler = [this.generateDelegator(handler)];
|
|
93
|
-
beginHandlers = middleware.plugins.map(function (plugin) {
|
|
94
|
-
return _this.generateDelegator(plugin.begin);
|
|
95
|
-
});
|
|
96
|
-
endHandlers = middleware.plugins.map(function (plugin) {
|
|
97
|
-
return _this.generateDelegator(plugin.end);
|
|
98
|
-
});
|
|
99
|
-
errorHandlers = middleware.plugins.map(function (plugin) {
|
|
100
|
-
return _this.generateDelegator(plugin.error);
|
|
101
|
-
});
|
|
102
|
-
iterate = function (handlers, okResponsible) {
|
|
103
|
-
if (okResponsible === void 0) { okResponsible = false; }
|
|
104
|
-
return __awaiter(_this, void 0, void 0, function () {
|
|
105
|
-
var _this = this;
|
|
106
|
-
return __generator(this, function (_a) {
|
|
107
|
-
return [2 /*return*/, Promise.all(handlers.map(function (each) { return _this.safeCall(each, okResponsible, errorHandlers); }))];
|
|
108
|
-
});
|
|
109
|
-
});
|
|
110
|
-
};
|
|
111
|
-
return [4 /*yield*/, iterate(beginHandlers)];
|
|
112
|
-
case 4:
|
|
113
|
-
_c = (_b = (_e.sent())).concat;
|
|
114
|
-
return [4 /*yield*/, iterate(actualHandler, true)];
|
|
115
|
-
case 5:
|
|
116
|
-
_d = [(_e.sent())];
|
|
117
|
-
return [4 /*yield*/, iterate(endHandlers)];
|
|
118
|
-
case 6:
|
|
119
|
-
results = _c.apply(_b, _d.concat([(_e.sent())])).filter(function (x) { return x; });
|
|
120
|
-
// In test phase, throws any exception if there was.
|
|
121
|
-
if (process.env.NODE_ENV === 'test') {
|
|
122
|
-
for (_i = 0, results_1 = results; _i < results_1.length; _i++) {
|
|
123
|
-
each = results_1[_i];
|
|
124
|
-
if (each instanceof Error) {
|
|
125
|
-
logger.error("Error occurred: " + utils_1.stringifyError(each));
|
|
126
|
-
throw each;
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
results.forEach(function (result) {
|
|
131
|
-
return logger.silly("middleware result : " + JSON.stringify(result));
|
|
132
|
-
});
|
|
133
|
-
return [2 /*return*/];
|
|
134
|
-
}
|
|
135
|
-
});
|
|
136
|
-
}); };
|
|
137
|
-
this.safeCall = function (delegator, okResponsible, errorHandlers) { return __awaiter(_this, void 0, void 0, function () {
|
|
138
|
-
var result, error_2, handled;
|
|
139
|
-
return __generator(this, function (_a) {
|
|
140
|
-
switch (_a.label) {
|
|
141
|
-
case 0:
|
|
142
|
-
_a.trys.push([0, 2, , 4]);
|
|
143
|
-
return [4 /*yield*/, delegator(okResponsible)];
|
|
144
|
-
case 1:
|
|
145
|
-
result = _a.sent();
|
|
146
|
-
return [2 /*return*/, result];
|
|
147
|
-
case 2:
|
|
148
|
-
error_2 = _a.sent();
|
|
149
|
-
return [4 /*yield*/, this.handleError(error_2, errorHandlers)];
|
|
150
|
-
case 3:
|
|
151
|
-
handled = _a.sent();
|
|
152
|
-
return [2 /*return*/, handled];
|
|
153
|
-
case 4: return [2 /*return*/];
|
|
154
|
-
}
|
|
155
|
-
});
|
|
156
|
-
}); };
|
|
157
|
-
this.generateDelegator = function (handler) { return function (okResponsible) { return __awaiter(_this, void 0, void 0, function () {
|
|
158
|
-
var maybePromise, result, _a;
|
|
159
|
-
return __generator(this, function (_b) {
|
|
160
|
-
switch (_b.label) {
|
|
161
|
-
case 0:
|
|
162
|
-
maybePromise = handler({
|
|
163
|
-
request: this.request,
|
|
164
|
-
response: this.response,
|
|
165
|
-
aux: this.aux,
|
|
166
|
-
});
|
|
167
|
-
if (!(maybePromise instanceof Promise)) return [3 /*break*/, 2];
|
|
168
|
-
return [4 /*yield*/, maybePromise];
|
|
169
|
-
case 1:
|
|
170
|
-
_a = _b.sent();
|
|
171
|
-
return [3 /*break*/, 3];
|
|
172
|
-
case 2:
|
|
173
|
-
_a = maybePromise;
|
|
174
|
-
_b.label = 3;
|
|
175
|
-
case 3:
|
|
176
|
-
result = _a;
|
|
177
|
-
logger.stupid("result", result);
|
|
178
|
-
if (!this.response.completed && okResponsible) {
|
|
179
|
-
this.response.ok(result);
|
|
180
|
-
}
|
|
181
|
-
return [2 /*return*/, result];
|
|
182
|
-
}
|
|
183
|
-
});
|
|
184
|
-
}); }; };
|
|
185
|
-
this.handleError = function (error, errorHandlers) { return __awaiter(_this, void 0, void 0, function () {
|
|
186
|
-
var _i, errorHandlers_1, handler, ignorable_1;
|
|
187
|
-
return __generator(this, function (_a) {
|
|
188
|
-
switch (_a.label) {
|
|
189
|
-
case 0:
|
|
190
|
-
logger.error(error);
|
|
191
|
-
this.request.lastError = error;
|
|
192
|
-
if (!errorHandlers) return [3 /*break*/, 6];
|
|
193
|
-
_i = 0, errorHandlers_1 = errorHandlers;
|
|
194
|
-
_a.label = 1;
|
|
195
|
-
case 1:
|
|
196
|
-
if (!(_i < errorHandlers_1.length)) return [3 /*break*/, 6];
|
|
197
|
-
handler = errorHandlers_1[_i];
|
|
198
|
-
_a.label = 2;
|
|
199
|
-
case 2:
|
|
200
|
-
_a.trys.push([2, 4, , 5]);
|
|
201
|
-
return [4 /*yield*/, handler(false)];
|
|
202
|
-
case 3:
|
|
203
|
-
_a.sent();
|
|
204
|
-
return [3 /*break*/, 5];
|
|
205
|
-
case 4:
|
|
206
|
-
ignorable_1 = _a.sent();
|
|
207
|
-
logger.error(ignorable_1);
|
|
208
|
-
return [3 /*break*/, 5];
|
|
209
|
-
case 5:
|
|
210
|
-
_i++;
|
|
211
|
-
return [3 /*break*/, 1];
|
|
212
|
-
case 6:
|
|
213
|
-
if (!this.response.completed) {
|
|
214
|
-
this.response.fail(error instanceof Error ? { error: error.message } : error);
|
|
215
|
-
}
|
|
216
|
-
return [2 /*return*/, error];
|
|
217
|
-
}
|
|
218
|
-
});
|
|
219
|
-
}); };
|
|
220
|
-
logger.stupid("event", event);
|
|
221
|
-
this.request = new base_1.HandlerRequest(event, context);
|
|
222
|
-
this.response = new base_1.HandlerResponse(callback);
|
|
223
|
-
this.aux = {}; // tslint:disable-line
|
|
224
|
-
}
|
|
225
|
-
return HandlerProxy;
|
|
226
|
-
}());
|
|
227
|
-
// It will break type safety because there is no relation between Aux and Plugin.
|
|
228
|
-
var build = function (plugins) {
|
|
229
|
-
var middleware = new HandlerMiddleware(plugins);
|
|
230
|
-
return function (handler) { return function (event, context, callback) {
|
|
231
|
-
new HandlerProxy(event, context, callback).call(middleware, handler);
|
|
232
|
-
}; };
|
|
233
|
-
};
|
|
234
|
-
exports.default = build;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export declare const middleware: {
|
|
2
|
-
build: <Aux extends import("./base").HandlerAuxBase>(plugins: import("./base").HandlerPluginBase<any>[]) => (handler: import("./base").Handler<Aux>) => (event: any, context: any, callback: any) => void;
|
|
3
|
-
aws: (options?: import("./aws").AWSPluginOptions | undefined) => import("./aws").AWSPlugin;
|
|
4
|
-
trace: (options: import("./trace").TracerPluginOptions) => import("./trace").TracerPlugin;
|
|
5
|
-
logger: (options: import("./logger").LoggerPluginOptions) => import("./logger").LoggerPlugin;
|
|
6
|
-
mysql: (options: import("./mysql").MySQLPluginOptions) => import("./mysql").MySQLPlugin;
|
|
7
|
-
};
|
|
8
|
-
export * from './base';
|
|
9
|
-
export * from './aws';
|
|
10
|
-
export * from './trace';
|
|
11
|
-
export * from './logger';
|
|
12
|
-
export * from './mysql';
|
package/dist/middleware/index.js
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
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
|
-
var build_1 = require("./build");
|
|
7
|
-
var aws_1 = require("./aws");
|
|
8
|
-
var logger_1 = require("./logger");
|
|
9
|
-
var mysql_1 = require("./mysql");
|
|
10
|
-
var trace_1 = require("./trace");
|
|
11
|
-
exports.middleware = {
|
|
12
|
-
build: build_1.default,
|
|
13
|
-
aws: aws_1.default,
|
|
14
|
-
trace: trace_1.default,
|
|
15
|
-
logger: logger_1.default,
|
|
16
|
-
mysql: mysql_1.default,
|
|
17
|
-
};
|
|
18
|
-
__export(require("./base"));
|
|
19
|
-
__export(require("./aws"));
|
|
20
|
-
__export(require("./trace"));
|
|
21
|
-
__export(require("./logger"));
|
|
22
|
-
__export(require("./mysql"));
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { Logger, LogLevel } from '../utils';
|
|
2
|
-
import { HandlerAuxBase, HandlerPluginBase } from './base';
|
|
3
|
-
export interface LoggerPluginOptions {
|
|
4
|
-
name: string;
|
|
5
|
-
level?: LogLevel;
|
|
6
|
-
}
|
|
7
|
-
export interface LoggerPluginAux extends HandlerAuxBase {
|
|
8
|
-
logger: Logger;
|
|
9
|
-
}
|
|
10
|
-
export declare class LoggerPlugin extends HandlerPluginBase<LoggerPluginAux> {
|
|
11
|
-
private options;
|
|
12
|
-
constructor(options: LoggerPluginOptions);
|
|
13
|
-
create: () => Promise<{
|
|
14
|
-
logger: Logger;
|
|
15
|
-
}>;
|
|
16
|
-
}
|
|
17
|
-
declare const build: (options: LoggerPluginOptions) => LoggerPlugin;
|
|
18
|
-
export default build;
|