@deepkit/http 1.0.1-alpha.58 → 1.0.1-alpha.59

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.
@@ -39,6 +39,13 @@ export declare class HttpRequest extends IncomingMessage {
39
39
  uploadedFiles: {
40
40
  [name: string]: UploadedFile;
41
41
  };
42
+ /**
43
+ * Cache of parsed fields. If middleware prior to Deepkit populates this,
44
+ * Deepkit will re-use it.
45
+ */
46
+ body?: {
47
+ [name: string]: any;
48
+ };
42
49
  static GET(path: string): RequestBuilder;
43
50
  static POST(path: string): RequestBuilder;
44
51
  static OPTIONS(path: string): RequestBuilder;
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../../../src/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../../src/model.ts"],"names":[],"mappings":"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"}
@@ -169,7 +169,7 @@ export declare class Router {
169
169
  [name: string]: any;
170
170
  }) => string;
171
171
  protected routes: RouteConfig[];
172
- protected form: any;
172
+ private parseBody;
173
173
  constructor(controllers: HttpControllers, logger: Logger, tagRegistry: TagRegistry, middlewareRegistry?: MiddlewareRegistry);
174
174
  getRoutes(): RouteConfig[];
175
175
  static forControllers(controllers: (ClassType | {
@@ -59,18 +59,6 @@ UploadedFile = __decorate([
59
59
  type_1.entity.name('@deepkit/UploadedFile')
60
60
  ], UploadedFile);
61
61
  exports.UploadedFile = UploadedFile;
62
- function parseBody(form, req, files) {
63
- return core_1.asyncOperation((resolve, reject) => {
64
- form.parse(req, (err, fields, files) => {
65
- if (err) {
66
- reject(err);
67
- }
68
- else {
69
- resolve({ fields, files });
70
- }
71
- });
72
- });
73
- }
74
62
  function getRouterControllerActionName(action) {
75
63
  return `${core_1.getClassName(action.controller)}.${action.methodName}`;
76
64
  }
@@ -299,15 +287,30 @@ let Router = class Router {
299
287
  this.logger = logger;
300
288
  this.middlewareRegistry = middlewareRegistry;
301
289
  this.routes = [];
302
- //todo, move some settings to KernelConfig
303
- this.form = formidable_1.default({
290
+ for (const controller of controllers.controllers) {
291
+ this.addRouteForController(controller.controller, controller.module);
292
+ }
293
+ }
294
+ parseBody(req, files) {
295
+ const form = formidable_1.default({
304
296
  multiples: true,
305
297
  hash: 'sha1',
306
298
  enabledPlugins: ['octetstream', 'querystring', 'json'],
307
299
  });
308
- for (const controller of controllers.controllers) {
309
- this.addRouteForController(controller.controller, controller.module);
310
- }
300
+ return core_1.asyncOperation((resolve, reject) => {
301
+ if (req.body) {
302
+ return resolve(req.body);
303
+ }
304
+ form.parse(req, (err, fields, files) => {
305
+ if (err) {
306
+ reject(err);
307
+ }
308
+ else {
309
+ const body = req.body = { ...fields, ...files };
310
+ resolve(body);
311
+ }
312
+ });
313
+ });
311
314
  }
312
315
  getRoutes() {
313
316
  return this.routes;
@@ -426,11 +429,9 @@ let Router = class Router {
426
429
  }
427
430
  let parseBodyLoading = '';
428
431
  if (enableParseBody) {
429
- const parseBodyVar = compiler.reserveVariable('parseBody', parseBody);
430
- const formVar = compiler.reserveVariable('form', this.form);
432
+ const parseBodyVar = compiler.reserveVariable('parseBody', this.parseBody.bind(this));
431
433
  parseBodyLoading = `
432
- const bodyParsed = (await ${parseBodyVar}(${formVar}, request, uploadedFiles));
433
- const bodyFields = {...bodyParsed.fields, ...bodyParsed.files};`;
434
+ const bodyFields = (await ${parseBodyVar}(request, uploadedFiles));`;
434
435
  requiresAsyncParameters = true;
435
436
  }
436
437
  let matcher = `_path.startsWith(${JSON.stringify(prefix)}) && (_match = _path.match(${regexVar}))`;
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../../src/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../../src/router.ts"],"names":[],"mappings":"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"}
@@ -338,6 +338,30 @@ globals_1.test('router body', async () => {
338
338
  const httpKernel = utils_1.createHttpKernel([Controller]);
339
339
  globals_1.expect((await httpKernel.request(model_1.HttpRequest.POST('/').json({ username: 'Peter' }))).json).toEqual(['Peter', true, '/']);
340
340
  });
341
+ globals_1.test('router body is safe for simultaneous requests', async () => {
342
+ class Body {
343
+ }
344
+ __decorate([
345
+ type_1.t,
346
+ __metadata("design:type", String)
347
+ ], Body.prototype, "username", void 0);
348
+ class Controller {
349
+ anyReq(body, req) {
350
+ return [body.username, body instanceof Body, req.url];
351
+ }
352
+ }
353
+ __decorate([
354
+ decorator_1.http.POST(),
355
+ __param(0, decorator_1.http.body()),
356
+ __metadata("design:type", Function),
357
+ __metadata("design:paramtypes", [Body, model_1.HttpRequest]),
358
+ __metadata("design:returntype", void 0)
359
+ ], Controller.prototype, "anyReq", null);
360
+ const httpKernel = utils_1.createHttpKernel([Controller]);
361
+ const makeReq = () => httpKernel.request(model_1.HttpRequest.POST('/').json({ username: 'Peter' }));
362
+ const results = await Promise.all([...new Array(100)].map(() => makeReq().then(res => res.json)));
363
+ globals_1.expect(results).toEqual(results.map(() => ['Peter', true, '/']));
364
+ });
341
365
  globals_1.test('router body double', async () => {
342
366
  class Body {
343
367
  }
@@ -1 +1 @@
1
- {"version":3,"file":"router.spec.js","sourceRoot":"","sources":["../../../tests/router.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.spec.js","sourceRoot":"","sources":["../../../tests/router.spec.ts"],"names":[],"mappings":"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"}