@creator.co/wapi 1.5.4 → 1.5.6
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/package.json +1 -1
- package/dist/src/API/Request.js +11 -9
- package/dist/src/API/Request.js.map +1 -1
- package/dist/src/Cache/Redis.js +9 -2
- package/dist/src/Cache/Redis.js.map +1 -1
- package/dist/src/Server/lib/container/GenericHandlerEvent.js +1 -0
- package/dist/src/Server/lib/container/GenericHandlerEvent.js.map +1 -1
- package/dist/src/Server/lib/container/Proxy.js +5 -1
- package/dist/src/Server/lib/container/Proxy.js.map +1 -1
- package/package.json +1 -1
- package/src/API/Request.ts +12 -7
- package/src/Cache/Redis.ts +2 -2
- package/src/Server/lib/container/GenericHandlerEvent.ts +6 -1
- package/src/Server/lib/container/Proxy.ts +7 -1
- package/tests/Cache/Redis-client.test.ts +1 -1
- package/tests/Cache/Redis-cluster.test.ts +1 -1
- package/tests/Server/lib/ContainerServer.test.ts +47 -0
package/dist/package.json
CHANGED
package/dist/src/API/Request.js
CHANGED
|
@@ -78,16 +78,18 @@ var Request = /** @class */ (function () {
|
|
|
78
78
|
* @returns {InputType} The parsed body of the request event.
|
|
79
79
|
*/
|
|
80
80
|
Request.prototype.getBody = function (raw) {
|
|
81
|
-
var
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
81
|
+
var body = this.requestEvent.body;
|
|
82
|
+
if (raw)
|
|
83
|
+
return Utils_1.default.isHybridlessContainer() ? this.requestEvent['rawBody'] : body;
|
|
84
|
+
if (typeof body === 'string' || body instanceof String) {
|
|
85
|
+
try {
|
|
86
|
+
return JSON.parse(body);
|
|
87
|
+
}
|
|
88
|
+
catch (e) {
|
|
89
|
+
console.error('Error while getting request body!', e);
|
|
90
|
+
}
|
|
89
91
|
}
|
|
90
|
-
return
|
|
92
|
+
return body;
|
|
91
93
|
};
|
|
92
94
|
/**
|
|
93
95
|
* Retrieves the path from the request event.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Request.js","sourceRoot":"","sources":["../../../src/API/Request.ts"],"names":[],"mappings":";;;AAGA,uCAAiC;AAEjC;;;;;;GAMG;AACH;IAWE;;;;;;OAMG;IACH,iBAAY,YAA6B,EAAE,OAAgB,EAAE,MAAc;QACzE,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAChC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE,YAAY,CAAC,CAAA;QAC3C,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAA;IAC3C,CAAC;IAED;;;;OAIG;IACI,oCAAkB,GAAzB,UAA0B,SAAgC;QACxD,IAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAA;QACzC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,eAAK,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,eAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAA;IACxE,CAAC;IAED;;;;OAIG;IACI,+BAAa,GAApB,UAAqB,SAAgC;QACnD,OAAO,eAAK,CAAC,2BAA2B,CACtC,IAAI,CAAC,YAAY,CAAC,qBAAqB,EACvC,MAAM,CAAC,SAAS,CAAC,CAClB,CAAA;IACH,CAAC;IAED;;;;OAIG;IACI,2BAAS,GAAhB,UAAiB,UAAkB;QACjC,OAAO,eAAK,CAAC,2BAA2B,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;IACjF,CAAC;IAED;;;;OAIG;IACI,iCAAe,GAAtB,UAAuB,QAAgB;QACrC,OAAO,eAAK,CAAC,2BAA2B,CAAC,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAA;IACtF,CAAC;IAED;;;;OAIG;IACI,mCAAiB,GAAxB,UAAyB,SAA+B;QACtD,IAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;QACxC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,eAAK,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,eAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAA;IACxE,CAAC;IAED;;;;OAIG;IACI,8BAAY,GAAnB,UAAoB,SAA+B;QACjD,OAAO,eAAK,CAAC,2BAA2B,CAAC,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAA;IAC/F,CAAC;IAED;;;OAGG;IACI,yBAAO,GAAd,UAAe,GAAa;QAC1B,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"Request.js","sourceRoot":"","sources":["../../../src/API/Request.ts"],"names":[],"mappings":"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"}
|
package/dist/src/Cache/Redis.js
CHANGED
|
@@ -83,7 +83,11 @@ var Redis = /** @class */ (function () {
|
|
|
83
83
|
switch (_b.label) {
|
|
84
84
|
case 0:
|
|
85
85
|
console.debug('Starting remote client cache connection');
|
|
86
|
-
connection = _a.ClientFactory(__assign(__assign({ username: config.username }, (config.password ? { password: config.password } : {})), { disableOfflineQueue: true, socket:
|
|
86
|
+
connection = _a.ClientFactory(__assign(__assign({ username: config.username }, (config.password ? { password: config.password } : {})), { disableOfflineQueue: true, socket: {
|
|
87
|
+
host: config.hostname,
|
|
88
|
+
tls: config.enableTLS,
|
|
89
|
+
connectTimeout: 10000,
|
|
90
|
+
} }));
|
|
87
91
|
return [4 /*yield*/, connection.connect()];
|
|
88
92
|
case 1:
|
|
89
93
|
_b.sent();
|
|
@@ -100,7 +104,10 @@ var Redis = /** @class */ (function () {
|
|
|
100
104
|
case 0:
|
|
101
105
|
console.debug('Starting remote cluster cache connection');
|
|
102
106
|
connection = _a.ClusterFactory({
|
|
103
|
-
defaults: __assign(__assign({ username: config.username }, (config.password ? { password: config.password } : {})), { socket:
|
|
107
|
+
defaults: __assign(__assign({ username: config.username }, (config.password ? { password: config.password } : {})), { socket: {
|
|
108
|
+
tls: config.enableTLS,
|
|
109
|
+
connectTimeout: 10000,
|
|
110
|
+
} }),
|
|
104
111
|
rootNodes: [
|
|
105
112
|
{
|
|
106
113
|
url: "redis://".concat(config.username, ":").concat(config.username, "@").concat(config.hostname, ":6379"),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Redis.js","sourceRoot":"","sources":["../../../src/Cache/Redis.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAsF;AAGtF,yDAAmD;AACnD;;GAEG;AACH;IAAA;IAgFA,CAAC;IA9De,gBAAU,GAAxB,UACE,MAA4B;QAE5B,OAAO,EAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IACzC,CAAC;IAEoB,uBAAiB,GAAtC,UACE,MAA4B;;;gBAE5B,IAAI,MAAM,CAAC,WAAW;oBAAE,sBAAO,EAAK,CAAC,sBAAsB,CAAC,MAAM,CAAC,EAAA;;oBAC9D,sBAAO,EAAK,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAA;;;;KAChD;IACD;;;;;;OAMG;IACkB,2BAAqB,GAA1C,UACE,MAA4B;;;;;;wBAE5B,OAAO,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAA;wBAClD,UAAU,GAAG,EAAK,CAAC,aAAa,qBACpC,QAAQ,EAAE,MAAM,CAAC,QAAQ,IACtB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KACzD,mBAAmB,EAAE,IAAI,EACzB,MAAM,
|
|
1
|
+
{"version":3,"file":"Redis.js","sourceRoot":"","sources":["../../../src/Cache/Redis.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAsF;AAGtF,yDAAmD;AACnD;;GAEG;AACH;IAAA;IAgFA,CAAC;IA9De,gBAAU,GAAxB,UACE,MAA4B;QAE5B,OAAO,EAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IACzC,CAAC;IAEoB,uBAAiB,GAAtC,UACE,MAA4B;;;gBAE5B,IAAI,MAAM,CAAC,WAAW;oBAAE,sBAAO,EAAK,CAAC,sBAAsB,CAAC,MAAM,CAAC,EAAA;;oBAC9D,sBAAO,EAAK,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAA;;;;KAChD;IACD;;;;;;OAMG;IACkB,2BAAqB,GAA1C,UACE,MAA4B;;;;;;wBAE5B,OAAO,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAA;wBAClD,UAAU,GAAG,EAAK,CAAC,aAAa,qBACpC,QAAQ,EAAE,MAAM,CAAC,QAAQ,IACtB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KACzD,mBAAmB,EAAE,IAAI,EACzB,MAAM,EAAE;gCACN,IAAI,EAAE,MAAM,CAAC,QAAQ;gCACrB,GAAG,EAAE,MAAM,CAAC,SAAS;gCACrB,cAAc,EAAE,KAAK;6BACtB,IACD,CAAA;wBACF,qBAAM,UAAU,CAAC,OAAO,EAAE,EAAA;;wBAA1B,SAA0B,CAAA;wBAE1B,sBAAO,UAAiB,EAAA;;;;KACzB;IAEoB,4BAAsB,GAA3C,UACE,MAA4B;;;;;;wBAE5B,OAAO,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAA;wBACnD,UAAU,GAAG,EAAK,CAAC,cAAc,CAAC;4BACtC,QAAQ,sBACN,QAAQ,EAAE,MAAM,CAAC,QAAQ,IACtB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KACzD,MAAM,EAAE;oCACN,GAAG,EAAE,MAAM,CAAC,SAAS;oCACrB,cAAc,EAAE,KAAK;iCACtB,GACF;4BACD,SAAS,EAAE;gCACT;oCACE,GAAG,EAAE,kBAAW,MAAM,CAAC,QAAQ,cAAI,MAAM,CAAC,QAAQ,cAAI,MAAM,CAAC,QAAQ,UAAO;oCAC5E,mBAAmB,EAAE,IAAI;iCAC1B;6BACF;yBACF,CAAC,CAAA;wBACF,qBAAM,UAAU,CAAC,OAAO,EAAE,EAAA;;wBAA1B,SAA0B,CAAA;wBAE1B,sBAAO,UAAiB,EAAA;;;;KACzB;;;IA9Ec,eAAS,GAAG,IAAI,wBAAc,CAG3C,EAAK,CAAC,iBAAiB,EAAE,UAAM,CAAC;QAAI,sBAAA,CAAC,CAAC,MAAM,EAAA;aAAA,CAAC,AAHvB,CAGuB;IAE/C;;;OAGG;IACY,mBAAa,GAAG,oBAAY,AAAf,CAAe;IAE3C;;;OAGG;IACY,oBAAc,GAAG,qBAAa,AAAhB,CAAgB;IAgE/C,YAAC;CAAA,AAhFD,IAgFC;kBAhFoB,KAAK"}
|
|
@@ -97,6 +97,7 @@ var GenericHandlerEvent = /** @class */ (function () {
|
|
|
97
97
|
var _a, _b, _c, _d;
|
|
98
98
|
return {
|
|
99
99
|
body: this.request.body || null, //enforce key
|
|
100
|
+
rawBody: this.request['rawBody'],
|
|
100
101
|
headers: (this.request.headers || {}),
|
|
101
102
|
httpMethod: (_a = this.request.method) === null || _a === void 0 ? void 0 : _a.toUpperCase(),
|
|
102
103
|
isBase64Encoded: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GenericHandlerEvent.js","sourceRoot":"","sources":["../../../../../src/Server/lib/container/GenericHandlerEvent.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,2BAA4B;AAG5B,iCAA0F;AAC1F,4CAAsC;
|
|
1
|
+
{"version":3,"file":"GenericHandlerEvent.js","sourceRoot":"","sources":["../../../../../src/Server/lib/container/GenericHandlerEvent.ts"],"names":[],"mappings":"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"}
|
|
@@ -60,7 +60,11 @@ var Proxy = /** @class */ (function () {
|
|
|
60
60
|
this.serverlessHandler = serverlessHandler;
|
|
61
61
|
this.app = express();
|
|
62
62
|
/* Opinionated Express configs */
|
|
63
|
-
this.app.use(express.json(
|
|
63
|
+
this.app.use(express.json({
|
|
64
|
+
verify: function (req, res, buf) {
|
|
65
|
+
req['rawBody'] = buf;
|
|
66
|
+
},
|
|
67
|
+
}));
|
|
64
68
|
// apply cors config
|
|
65
69
|
var corsConfig = this.config.cors || Utils_1.default.parseObjectNullIfEmpty(process.env.CORS);
|
|
66
70
|
this.app.use(cors(corsConfig
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Proxy.js","sourceRoot":"","sources":["../../../../../src/Server/lib/container/Proxy.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6BAAyD;AAEzD,2BAA4B;AAC5B,iCAAkC;AAGlC,mDAA6C;AAC7C,iDAA2C;AAC3C,yDAAgE;AAChE,4CAAsC;AACtC,6CAAuC;AAGvC;;GAEG;AACH;IA4BE;;;;;OAKG;IACH,eAAY,MAAoB,EAAE,iBAAkD;QAClF,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAA;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAA;QAC1C,IAAI,CAAC,GAAG,GAAG,OAAO,EAAE,CAAA;QACpB,iCAAiC;QACjC,IAAI,CAAC,GAAG,CAAC,GAAG,
|
|
1
|
+
{"version":3,"file":"Proxy.js","sourceRoot":"","sources":["../../../../../src/Server/lib/container/Proxy.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/API/Request.ts
CHANGED
|
@@ -99,14 +99,19 @@ export default class Request<InputType, PathParamsType, QueryParamsType> {
|
|
|
99
99
|
* @returns {InputType} The parsed body of the request event.
|
|
100
100
|
*/
|
|
101
101
|
public getBody(raw?: boolean): InputType {
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
102
|
+
const body: any = this.requestEvent.body
|
|
103
|
+
|
|
104
|
+
if (raw) return Utils.isHybridlessContainer() ? this.requestEvent['rawBody'] : body
|
|
105
|
+
|
|
106
|
+
if (typeof body === 'string' || body instanceof String) {
|
|
107
|
+
try {
|
|
108
|
+
return JSON.parse(body as string)
|
|
109
|
+
} catch (e) {
|
|
110
|
+
console.error('Error while getting request body!', e)
|
|
111
|
+
}
|
|
108
112
|
}
|
|
109
|
-
|
|
113
|
+
|
|
114
|
+
return body
|
|
110
115
|
}
|
|
111
116
|
|
|
112
117
|
/**
|
package/src/Cache/Redis.ts
CHANGED
|
@@ -52,7 +52,7 @@ export default class Redis {
|
|
|
52
52
|
disableOfflineQueue: true,
|
|
53
53
|
socket: {
|
|
54
54
|
host: config.hostname,
|
|
55
|
-
|
|
55
|
+
tls: config.enableTLS,
|
|
56
56
|
connectTimeout: 10000,
|
|
57
57
|
},
|
|
58
58
|
})
|
|
@@ -70,7 +70,7 @@ export default class Redis {
|
|
|
70
70
|
username: config.username,
|
|
71
71
|
...(config.password ? { password: config.password } : {}),
|
|
72
72
|
socket: {
|
|
73
|
-
|
|
73
|
+
tls: config.enableTLS,
|
|
74
74
|
connectTimeout: 10000,
|
|
75
75
|
},
|
|
76
76
|
},
|
|
@@ -14,6 +14,10 @@ import Server from '../Server'
|
|
|
14
14
|
*/
|
|
15
15
|
export type GenericHandlerEventResponse = { err?: Error | string; data?: any }
|
|
16
16
|
|
|
17
|
+
type HasRawBody = {
|
|
18
|
+
rawBody: Buffer
|
|
19
|
+
}
|
|
20
|
+
|
|
17
21
|
/**
|
|
18
22
|
* Represents a generic handler event for serverless functions.
|
|
19
23
|
*/
|
|
@@ -66,9 +70,10 @@ export default class GenericHandlerEvent {
|
|
|
66
70
|
* Builds and returns an APIGatewayProxyEvent object based on the current request.
|
|
67
71
|
* @returns {APIGatewayProxyEvent} - The constructed APIGatewayProxyEvent object.
|
|
68
72
|
*/
|
|
69
|
-
private buildEvent(): APIGatewayProxyEvent {
|
|
73
|
+
private buildEvent(): APIGatewayProxyEvent & HasRawBody {
|
|
70
74
|
return {
|
|
71
75
|
body: this.request.body || null, //enforce key
|
|
76
|
+
rawBody: this.request['rawBody'],
|
|
72
77
|
headers: <any>(this.request.headers || {}),
|
|
73
78
|
httpMethod: this.request.method?.toUpperCase(),
|
|
74
79
|
isBase64Encoded: false,
|
|
@@ -54,7 +54,13 @@ export default class Proxy {
|
|
|
54
54
|
this.serverlessHandler = serverlessHandler
|
|
55
55
|
this.app = express()
|
|
56
56
|
/* Opinionated Express configs */
|
|
57
|
-
this.app.use(
|
|
57
|
+
this.app.use(
|
|
58
|
+
express.json({
|
|
59
|
+
verify(req, res, buf) {
|
|
60
|
+
req['rawBody'] = buf
|
|
61
|
+
},
|
|
62
|
+
})
|
|
63
|
+
)
|
|
58
64
|
// apply cors config
|
|
59
65
|
const corsConfig = this.config.cors || Utils.parseObjectNullIfEmpty(process.env.CORS)
|
|
60
66
|
this.app.use(
|
|
@@ -32,7 +32,7 @@ async function simpleRedisTest(config: any, concurrent?: boolean) {
|
|
|
32
32
|
username: config.username,
|
|
33
33
|
...(config.password ? { password: config.password } : {}),
|
|
34
34
|
socket: {
|
|
35
|
-
|
|
35
|
+
tls: config.enableTLS,
|
|
36
36
|
connectTimeout: 10000,
|
|
37
37
|
},
|
|
38
38
|
},
|
|
@@ -480,4 +480,51 @@ describe('Container server validation (path)', () => {
|
|
|
480
480
|
})
|
|
481
481
|
})
|
|
482
482
|
|
|
483
|
+
describe('Container server raw body', () => {
|
|
484
|
+
// @ts-ignore
|
|
485
|
+
let mockExit = jest.spyOn(process, 'exit').mockImplementation(() => {})
|
|
486
|
+
beforeAll(() => {
|
|
487
|
+
// @ts-ignore
|
|
488
|
+
mockExit = jest.spyOn(process, 'exit').mockImplementation(() => {})
|
|
489
|
+
process.env['HYBRIDLESS_RUNTIME'] = 'true'
|
|
490
|
+
})
|
|
491
|
+
afterAll(() => {
|
|
492
|
+
mockExit.mockRestore()
|
|
493
|
+
process.env['HYBRIDLESS_RUNTIME'] = undefined
|
|
494
|
+
})
|
|
495
|
+
beforeEach(() => {
|
|
496
|
+
mockExit.mockReset()
|
|
497
|
+
})
|
|
498
|
+
|
|
499
|
+
test('Raw body is available', async () => {
|
|
500
|
+
let raw = null
|
|
501
|
+
const server = new ContainerServer({
|
|
502
|
+
routes: [
|
|
503
|
+
{
|
|
504
|
+
path: '/abc',
|
|
505
|
+
method: HttpMethod.POST,
|
|
506
|
+
handler: async t => {
|
|
507
|
+
raw = t.request.getBody(true)
|
|
508
|
+
return Response.SimpleResponse(null)
|
|
509
|
+
},
|
|
510
|
+
},
|
|
511
|
+
],
|
|
512
|
+
})
|
|
513
|
+
await server.start()
|
|
514
|
+
|
|
515
|
+
// it's formatted funky, because we're testing for exact match
|
|
516
|
+
const data = ' { "name" : "abc" }'
|
|
517
|
+
await request(defaultUrl)
|
|
518
|
+
.post(`/abc`)
|
|
519
|
+
.send(data)
|
|
520
|
+
.set('Content-Type', 'application/json')
|
|
521
|
+
.expect(200)
|
|
522
|
+
|
|
523
|
+
const s = new TextDecoder('utf-8').decode(raw!)
|
|
524
|
+
c_expect(s).to.be.equals(data)
|
|
525
|
+
|
|
526
|
+
await server.stop()
|
|
527
|
+
})
|
|
528
|
+
})
|
|
529
|
+
|
|
483
530
|
export {}
|