web_api_base 2.1.3 → 2.2.3

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.
@@ -100,36 +100,41 @@ class Application {
100
100
  this.Express[verb.toString().toLowerCase()](`${route}${action}`, (request, response) => {
101
101
  let midlewares = ControllerDecorators_1.default.GetMidlewares(empty).reverse();
102
102
  midlewares.push(...ControllerDecorators_1.default.GetBefores(empty, method.toString()).reverse());
103
- let handler = (req, resp) => {
103
+ let handler = (context) => {
104
104
  let args = ControllerDecorators_1.default.GetArgumentsHandler(empty, method.toString());
105
105
  let params = [];
106
106
  if (args) {
107
107
  if (args.Arguments.length > 0) {
108
- if (req.body && verb == (HttpVerbs_1.HTTPVerbs.POST || verb == HttpVerbs_1.HTTPVerbs.PUT))
109
- params = args.CreateArgumentsList(req.body);
110
- if (req.query)
111
- params.push(...args.CreateArgumentsList(req.query));
108
+ if (context.Request.body && verb == (HttpVerbs_1.HTTPVerbs.POST || verb == HttpVerbs_1.HTTPVerbs.PUT))
109
+ params = args.CreateArgumentsList(context.Request.body);
110
+ if (context.Request.query)
111
+ params.push(...args.CreateArgumentsList(context.Request.query));
112
112
  }
113
113
  }
114
114
  let controller = DependecyService_1.default.ResolveCtor(empty.constructor);
115
- controller.Request = req;
116
- controller.Response = resp;
115
+ controller.Request = context.Request;
116
+ controller.Response = context.Response;
117
117
  controller[method](...params);
118
118
  };
119
119
  if (midlewares && midlewares.length > 0) {
120
- for (let i = 0; i < midlewares.length; i++) {
121
- let midleware = midlewares[i];
122
- if (i == midlewares.length - 1) {
123
- midleware.Next = handler;
124
- }
125
- else {
126
- midleware.Next = midlewares[i + 1];
127
- }
120
+ let httpRequestContexts = [];
121
+ for (let i = 0; i <= midlewares.length; i++) {
122
+ httpRequestContexts.push({
123
+ Request: request,
124
+ Response: response,
125
+ Next: i == midlewares.length ? handler : midlewares[i]
126
+ });
128
127
  }
129
- midlewares[0](request, response);
128
+ httpRequestContexts[0].Next({
129
+ Request: request,
130
+ Response: response
131
+ });
130
132
  }
131
133
  else {
132
- handler(request, response);
134
+ handler({
135
+ Request: request,
136
+ Response: response
137
+ });
133
138
  }
134
139
  });
135
140
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Application.js","sourceRoot":"","sources":["../Application.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Application.js","sourceRoot":"","sources":["../Application.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,9 @@
1
1
  import { Request, Response } from "express";
2
2
  export default interface IMidleware {
3
- (req: Request, res: Response): void;
4
- Next?: (req: Request, res: Response) => void;
3
+ (context: HTTPRequestContext): void;
4
+ }
5
+ export interface HTTPRequestContext {
6
+ Request: Request;
7
+ Response: Response;
8
+ Next?: (context: HTTPRequestContext) => void;
5
9
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "web_api_base",
3
- "version": "2.1.3",
3
+ "version": "2.2.3",
4
4
  "description": "web api base",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",