@spinajs/http 1.2.127 → 1.2.151
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/lib/controllers.d.ts +4 -1
- package/lib/controllers.js +10 -2
- package/lib/controllers.js.map +1 -1
- package/lib/decorators.d.ts +11 -11
- package/lib/decorators.js +36 -29
- package/lib/decorators.js.map +1 -1
- package/lib/interfaces.d.ts +19 -2
- package/lib/interfaces.js +5 -1
- package/lib/interfaces.js.map +1 -1
- package/lib/middlewares/RequestId.d.ts +10 -0
- package/lib/middlewares/RequestId.js +36 -0
- package/lib/middlewares/RequestId.js.map +1 -0
- package/lib/middlewares/ResponseTime.d.ts +10 -0
- package/lib/middlewares/ResponseTime.js +40 -0
- package/lib/middlewares/ResponseTime.js.map +1 -0
- package/lib/response-methods/badRequest.d.ts +0 -1
- package/lib/response-methods/conflict.d.ts +0 -1
- package/lib/response-methods/cookieResponse.d.ts +0 -1
- package/lib/response-methods/created.d.ts +0 -1
- package/lib/response-methods/forbidden.d.ts +0 -1
- package/lib/response-methods/noContent.d.ts +0 -1
- package/lib/response-methods/notFound.d.ts +0 -1
- package/lib/response-methods/ok.d.ts +0 -1
- package/lib/response-methods/pug.d.ts +0 -1
- package/lib/response-methods/serverError.d.ts +0 -1
- package/lib/response-methods/unauthorized.d.ts +0 -1
- package/lib/route-args/ArgAsRequest.d.ts +0 -1
- package/lib/route-args/FromBody.js +1 -18
- package/lib/route-args/FromBody.js.map +1 -1
- package/lib/route-args/FromCookie.d.ts +2 -2
- package/lib/route-args/FromCookie.js +2 -2
- package/lib/route-args/FromCookie.js.map +1 -1
- package/lib/route-args/FromHeaderArg.d.ts +2 -2
- package/lib/route-args/FromHeaderArg.js +2 -2
- package/lib/route-args/FromHeaderArg.js.map +1 -1
- package/lib/route-args/FromParams.d.ts +2 -2
- package/lib/route-args/FromParams.js +2 -2
- package/lib/route-args/FromParams.js.map +1 -1
- package/lib/route-args/FromQuery.d.ts +2 -2
- package/lib/route-args/FromQuery.js +2 -2
- package/lib/route-args/FromQuery.js.map +1 -1
- package/lib/route-args/RouteArgs.d.ts +3 -1
- package/lib/route-args/RouteArgs.js +46 -9
- package/lib/route-args/RouteArgs.js.map +1 -1
- package/lib/schemas/RouteArgsSchemas.d.ts +23 -2
- package/lib/schemas/RouteArgsSchemas.js +11 -3
- package/lib/schemas/RouteArgsSchemas.js.map +1 -1
- package/lib/server.d.ts +2 -0
- package/lib/server.js +24 -0
- package/lib/server.js.map +1 -1
- package/package.json +5 -5
package/lib/controllers.d.ts
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { IController, IControllerDescriptor, IActionLocalStoregeContext } from './interfaces';
|
|
2
3
|
import { AsyncModule, IContainer } from '@spinajs/di';
|
|
3
4
|
import * as express from 'express';
|
|
4
5
|
import { ClassInfo } from '@spinajs/reflection';
|
|
5
6
|
import { HttpServer } from './server';
|
|
6
7
|
import { Log } from '@spinajs/log';
|
|
7
8
|
import { DataValidator } from '@spinajs/validation';
|
|
9
|
+
import { AsyncLocalStorage } from 'node:async_hooks';
|
|
8
10
|
export declare abstract class BaseController extends AsyncModule implements IController {
|
|
9
11
|
/**
|
|
10
12
|
* Array index getter
|
|
@@ -14,6 +16,7 @@ export declare abstract class BaseController extends AsyncModule implements ICon
|
|
|
14
16
|
protected _container: IContainer;
|
|
15
17
|
protected _validator: DataValidator;
|
|
16
18
|
protected _log: Log;
|
|
19
|
+
protected _actionLocalStorage: AsyncLocalStorage<IActionLocalStoregeContext>;
|
|
17
20
|
/**
|
|
18
21
|
* Express router with middleware stack
|
|
19
22
|
*/
|
package/lib/controllers.js
CHANGED
|
@@ -42,6 +42,7 @@ const reflection_1 = require("@spinajs/reflection");
|
|
|
42
42
|
const server_1 = require("./server");
|
|
43
43
|
const log_1 = require("@spinajs/log");
|
|
44
44
|
const validation_1 = require("@spinajs/validation");
|
|
45
|
+
const node_async_hooks_1 = require("node:async_hooks");
|
|
45
46
|
class BaseController extends di_1.AsyncModule {
|
|
46
47
|
/**
|
|
47
48
|
* Express router with middleware stack
|
|
@@ -66,6 +67,7 @@ class BaseController extends di_1.AsyncModule {
|
|
|
66
67
|
async resolveAsync() {
|
|
67
68
|
const self = this;
|
|
68
69
|
this._router = express.Router();
|
|
70
|
+
this._actionLocalStorage = new node_async_hooks_1.AsyncLocalStorage();
|
|
69
71
|
for (const [, route] of this.Descriptor.Routes) {
|
|
70
72
|
const handlers = [];
|
|
71
73
|
let path = '';
|
|
@@ -93,7 +95,10 @@ class BaseController extends di_1.AsyncModule {
|
|
|
93
95
|
const acionWrapper = async (req, res, next) => {
|
|
94
96
|
try {
|
|
95
97
|
const args = (await _extractRouteArgs(route, req, res)).concat([req, res, next]);
|
|
96
|
-
|
|
98
|
+
const response = await this._actionLocalStorage.run(req.storage, () => {
|
|
99
|
+
return this[route.Method].call(this, ...args);
|
|
100
|
+
});
|
|
101
|
+
res.locals.response = response;
|
|
97
102
|
next();
|
|
98
103
|
}
|
|
99
104
|
catch (err) {
|
|
@@ -160,7 +165,6 @@ class BaseController extends di_1.AsyncModule {
|
|
|
160
165
|
throw new exceptions_1.UnexpectedServerError('invalid route parameter type for param: ' + param.Name);
|
|
161
166
|
}
|
|
162
167
|
const { Args } = await extractor.extract(callData, param, req, res, route);
|
|
163
|
-
param.Schema ? self._validator.validate(param.Schema, Args) : self._validator.validate(Args);
|
|
164
168
|
args[param.Index] = Args;
|
|
165
169
|
}
|
|
166
170
|
return args;
|
|
@@ -179,6 +183,10 @@ __decorate([
|
|
|
179
183
|
(0, log_1.Logger)('http'),
|
|
180
184
|
__metadata("design:type", log_1.Log)
|
|
181
185
|
], BaseController.prototype, "_log", void 0);
|
|
186
|
+
__decorate([
|
|
187
|
+
(0, di_1.Autoinject)(),
|
|
188
|
+
__metadata("design:type", node_async_hooks_1.AsyncLocalStorage)
|
|
189
|
+
], BaseController.prototype, "_actionLocalStorage", void 0);
|
|
182
190
|
exports.BaseController = BaseController;
|
|
183
191
|
class Controllers extends di_1.AsyncModule {
|
|
184
192
|
async register(controller) {
|
package/lib/controllers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controllers.js","sourceRoot":"","sources":["../src/controllers.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"controllers.js","sourceRoot":"","sources":["../src/controllers.ts"],"names":[],"mappings":"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"}
|
package/lib/decorators.d.ts
CHANGED
|
@@ -31,14 +31,14 @@ export declare function Query(schema?: any): (target: any, propertyKey?: string
|
|
|
31
31
|
*
|
|
32
32
|
* @param schema - parameter json schema for optional validation
|
|
33
33
|
*/
|
|
34
|
-
export declare function Body(
|
|
34
|
+
export declare function Body(): (target: any, propertyKey?: string | symbol, indexOrDescriptor?: number | PropertyDescriptor) => void;
|
|
35
35
|
/**
|
|
36
36
|
* Route parameter taken from url parameters eg. route/:id
|
|
37
37
|
*
|
|
38
38
|
* @param schema - parameter json schema for optional validation
|
|
39
39
|
*/
|
|
40
40
|
export declare function Param(schema?: any): (target: any, propertyKey?: string | symbol, indexOrDescriptor?: number | PropertyDescriptor) => void;
|
|
41
|
-
export declare function FromModel(
|
|
41
|
+
export declare function FromModel(): (target: any, propertyKey?: string | symbol, indexOrDescriptor?: number | PropertyDescriptor) => void;
|
|
42
42
|
/**
|
|
43
43
|
* Gets parameter from request header. If not keyname is provided
|
|
44
44
|
* variable name is used as header key name
|
|
@@ -62,21 +62,21 @@ export declare function File(options?: IUploadOptions): (target: any, propertyKe
|
|
|
62
62
|
* @param cvsParseOptions - cvs parser options
|
|
63
63
|
* @param schema - optional schema for data validation
|
|
64
64
|
*/
|
|
65
|
-
export declare function CsvFile(options?: IUploadOptions, cvsParseOptions?: any
|
|
65
|
+
export declare function CsvFile(options?: IUploadOptions, cvsParseOptions?: any): (target: any, propertyKey?: string | symbol, indexOrDescriptor?: number | PropertyDescriptor) => void;
|
|
66
66
|
/**
|
|
67
67
|
* Data taken from cvs file that is uploaded. Actions receives parsed data
|
|
68
68
|
*
|
|
69
69
|
* @param options - upload options
|
|
70
70
|
* @param schema - optional schema for data validation
|
|
71
71
|
*/
|
|
72
|
-
export declare function JsonFile(options?: IUploadOptions
|
|
72
|
+
export declare function JsonFile(options?: IUploadOptions): (target: any, propertyKey?: string | symbol, indexOrDescriptor?: number | PropertyDescriptor) => void;
|
|
73
73
|
/**
|
|
74
74
|
*
|
|
75
75
|
* Parameter taken from form data (multipart-form)
|
|
76
76
|
*
|
|
77
77
|
* @param options - upload options
|
|
78
78
|
*/
|
|
79
|
-
export declare function Form(
|
|
79
|
+
export declare function Form(options?: IFormOptions): (target: any, propertyKey?: string | symbol, indexOrDescriptor?: number | PropertyDescriptor) => void;
|
|
80
80
|
/**
|
|
81
81
|
*
|
|
82
82
|
* Parameter taken from form data (multipart-form)
|
|
@@ -126,31 +126,31 @@ export declare function Cookie(): (target: any, propertyKey?: string | symbol, i
|
|
|
126
126
|
* Creates HEAD http request method
|
|
127
127
|
* @param path - url path to method eg. /foo/bar/:id
|
|
128
128
|
*/
|
|
129
|
-
export declare function Head(path?: string): (target: any, propertyKey?: string | symbol, indexOrDescriptor?: number | PropertyDescriptor) => void;
|
|
129
|
+
export declare function Head(path?: string, schema?: any): (target: any, propertyKey?: string | symbol, indexOrDescriptor?: number | PropertyDescriptor) => void;
|
|
130
130
|
/**
|
|
131
131
|
* Creates PATCH http request method
|
|
132
132
|
* @param path - url path to method eg. /foo/bar/:id
|
|
133
133
|
*/
|
|
134
|
-
export declare function Patch(path?: string): (target: any, propertyKey?: string | symbol, indexOrDescriptor?: number | PropertyDescriptor) => void;
|
|
134
|
+
export declare function Patch(path?: string, schema?: any): (target: any, propertyKey?: string | symbol, indexOrDescriptor?: number | PropertyDescriptor) => void;
|
|
135
135
|
/**
|
|
136
136
|
* Creates DELETE http request method
|
|
137
137
|
* @param path - url path to method eg. /foo/bar/:id
|
|
138
138
|
* @param routeName - route name visible in api. If undefined, method name is taken
|
|
139
139
|
*/
|
|
140
|
-
export declare function Del(path?: string): (target: any, propertyKey?: string | symbol, indexOrDescriptor?: number | PropertyDescriptor) => void;
|
|
140
|
+
export declare function Del(path?: string, schema?: any): (target: any, propertyKey?: string | symbol, indexOrDescriptor?: number | PropertyDescriptor) => void;
|
|
141
141
|
/**
|
|
142
142
|
* Creates PUT http request method
|
|
143
143
|
* @param path - url path to method eg. /foo/bar/:id
|
|
144
144
|
*/
|
|
145
|
-
export declare function Put(path?: string): (target: any, propertyKey?: string | symbol, indexOrDescriptor?: number | PropertyDescriptor) => void;
|
|
145
|
+
export declare function Put(path?: string, schema?: any): (target: any, propertyKey?: string | symbol, indexOrDescriptor?: number | PropertyDescriptor) => void;
|
|
146
146
|
/**
|
|
147
147
|
* Creates GET http request method
|
|
148
148
|
* @param path - url path to method eg. /foo/bar/:id
|
|
149
149
|
*/
|
|
150
|
-
export declare function Get(path?: string): (target: any, propertyKey?: string | symbol, indexOrDescriptor?: number | PropertyDescriptor) => void;
|
|
150
|
+
export declare function Get(path?: string, schema?: any): (target: any, propertyKey?: string | symbol, indexOrDescriptor?: number | PropertyDescriptor) => void;
|
|
151
151
|
/**
|
|
152
152
|
* Creates POST http request method
|
|
153
153
|
*
|
|
154
154
|
* @param path - url path to method eg. /foo/bar
|
|
155
155
|
*/
|
|
156
|
-
export declare function Post(path?: string): (target: any, propertyKey?: string | symbol, indexOrDescriptor?: number | PropertyDescriptor) => void;
|
|
156
|
+
export declare function Post(path?: string, schema?: any): (target: any, propertyKey?: string | symbol, indexOrDescriptor?: number | PropertyDescriptor) => void;
|
package/lib/decorators.js
CHANGED
|
@@ -38,6 +38,7 @@ function Route(callback) {
|
|
|
38
38
|
Policies: [],
|
|
39
39
|
Type: interfaces_1.RouteType.UNKNOWN,
|
|
40
40
|
Options: null,
|
|
41
|
+
Schema: null,
|
|
41
42
|
};
|
|
42
43
|
}
|
|
43
44
|
metadata.Routes.set(propertyKey, route);
|
|
@@ -62,7 +63,7 @@ function Type(type) {
|
|
|
62
63
|
Index: index,
|
|
63
64
|
Name: '',
|
|
64
65
|
RuntimeType: type,
|
|
65
|
-
|
|
66
|
+
RouteParamSchema: '',
|
|
66
67
|
Options: null,
|
|
67
68
|
Type: null,
|
|
68
69
|
};
|
|
@@ -75,22 +76,21 @@ function Parameter(type, schema, options) {
|
|
|
75
76
|
return (_, route, target, propertyKey, index) => {
|
|
76
77
|
const rType = Reflect.getMetadata('design:paramtypes', target.prototype || target, propertyKey)[index];
|
|
77
78
|
let tSchema = null;
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
tSchema = RouteArgsSchemas_1.ROUTE_ARG_SCHEMA.Boolean;
|
|
88
|
-
}
|
|
79
|
+
switch (rType.name) {
|
|
80
|
+
case 'Number':
|
|
81
|
+
tSchema = RouteArgsSchemas_1.ROUTE_ARG_SCHEMA.Number;
|
|
82
|
+
break;
|
|
83
|
+
case 'String':
|
|
84
|
+
tSchema = RouteArgsSchemas_1.ROUTE_ARG_SCHEMA.String;
|
|
85
|
+
break;
|
|
86
|
+
case 'Boolean':
|
|
87
|
+
tSchema = RouteArgsSchemas_1.ROUTE_ARG_SCHEMA.Boolean;
|
|
89
88
|
}
|
|
90
89
|
if (route.Parameters.has(index)) {
|
|
91
90
|
const p = route.Parameters.get(index);
|
|
92
91
|
p.Type = type;
|
|
93
92
|
p.Options = options;
|
|
93
|
+
p.RouteParamSchema = tSchema;
|
|
94
94
|
p.Schema = schema;
|
|
95
95
|
}
|
|
96
96
|
else {
|
|
@@ -98,7 +98,8 @@ function Parameter(type, schema, options) {
|
|
|
98
98
|
Index: index,
|
|
99
99
|
Name: '',
|
|
100
100
|
RuntimeType: rType,
|
|
101
|
-
|
|
101
|
+
RouteParamSchema: tSchema,
|
|
102
|
+
Schema: schema,
|
|
102
103
|
Options: options,
|
|
103
104
|
Type: type,
|
|
104
105
|
};
|
|
@@ -178,8 +179,8 @@ exports.Query = Query;
|
|
|
178
179
|
*
|
|
179
180
|
* @param schema - parameter json schema for optional validation
|
|
180
181
|
*/
|
|
181
|
-
function Body(
|
|
182
|
-
return Route(Parameter(interfaces_1.ParameterType.FromBody,
|
|
182
|
+
function Body() {
|
|
183
|
+
return Route(Parameter(interfaces_1.ParameterType.FromBody, null));
|
|
183
184
|
}
|
|
184
185
|
exports.Body = Body;
|
|
185
186
|
/**
|
|
@@ -191,8 +192,8 @@ function Param(schema) {
|
|
|
191
192
|
return Route(Parameter(interfaces_1.ParameterType.FromParams, schema));
|
|
192
193
|
}
|
|
193
194
|
exports.Param = Param;
|
|
194
|
-
function FromModel(
|
|
195
|
-
return Route(Parameter(interfaces_1.ParameterType.FromModel,
|
|
195
|
+
function FromModel() {
|
|
196
|
+
return Route(Parameter(interfaces_1.ParameterType.FromModel, null));
|
|
196
197
|
}
|
|
197
198
|
exports.FromModel = FromModel;
|
|
198
199
|
/**
|
|
@@ -224,8 +225,8 @@ exports.File = File;
|
|
|
224
225
|
* @param cvsParseOptions - cvs parser options
|
|
225
226
|
* @param schema - optional schema for data validation
|
|
226
227
|
*/
|
|
227
|
-
function CsvFile(options, cvsParseOptions
|
|
228
|
-
return Route(Parameter(interfaces_1.ParameterType.FromCSV,
|
|
228
|
+
function CsvFile(options, cvsParseOptions) {
|
|
229
|
+
return Route(Parameter(interfaces_1.ParameterType.FromCSV, null, {
|
|
229
230
|
uploadOptions: options,
|
|
230
231
|
cvsOptions: cvsParseOptions,
|
|
231
232
|
}));
|
|
@@ -237,8 +238,8 @@ exports.CsvFile = CsvFile;
|
|
|
237
238
|
* @param options - upload options
|
|
238
239
|
* @param schema - optional schema for data validation
|
|
239
240
|
*/
|
|
240
|
-
function JsonFile(options
|
|
241
|
-
return Route(Parameter(interfaces_1.ParameterType.FromJSONFile,
|
|
241
|
+
function JsonFile(options) {
|
|
242
|
+
return Route(Parameter(interfaces_1.ParameterType.FromJSONFile, null, options));
|
|
242
243
|
}
|
|
243
244
|
exports.JsonFile = JsonFile;
|
|
244
245
|
/**
|
|
@@ -247,8 +248,8 @@ exports.JsonFile = JsonFile;
|
|
|
247
248
|
*
|
|
248
249
|
* @param options - upload options
|
|
249
250
|
*/
|
|
250
|
-
function Form(
|
|
251
|
-
return Route(Parameter(interfaces_1.ParameterType.FromForm,
|
|
251
|
+
function Form(options) {
|
|
252
|
+
return Route(Parameter(interfaces_1.ParameterType.FromForm, options));
|
|
252
253
|
}
|
|
253
254
|
exports.Form = Form;
|
|
254
255
|
/**
|
|
@@ -323,11 +324,12 @@ exports.Cookie = Cookie;
|
|
|
323
324
|
* Creates HEAD http request method
|
|
324
325
|
* @param path - url path to method eg. /foo/bar/:id
|
|
325
326
|
*/
|
|
326
|
-
function Head(path) {
|
|
327
|
+
function Head(path, schema) {
|
|
327
328
|
return Route((_, route) => {
|
|
328
329
|
route.Type = interfaces_1.RouteType.HEAD;
|
|
329
330
|
route.InternalType = interfaces_1.RouteType.HEAD;
|
|
330
331
|
route.Path = path;
|
|
332
|
+
route.Schema = schema;
|
|
331
333
|
});
|
|
332
334
|
}
|
|
333
335
|
exports.Head = Head;
|
|
@@ -335,11 +337,12 @@ exports.Head = Head;
|
|
|
335
337
|
* Creates PATCH http request method
|
|
336
338
|
* @param path - url path to method eg. /foo/bar/:id
|
|
337
339
|
*/
|
|
338
|
-
function Patch(path) {
|
|
340
|
+
function Patch(path, schema) {
|
|
339
341
|
return Route((_, route) => {
|
|
340
342
|
route.Type = interfaces_1.RouteType.PATCH;
|
|
341
343
|
route.InternalType = interfaces_1.RouteType.PATCH;
|
|
342
344
|
route.Path = path;
|
|
345
|
+
route.Schema = schema;
|
|
343
346
|
});
|
|
344
347
|
}
|
|
345
348
|
exports.Patch = Patch;
|
|
@@ -348,11 +351,12 @@ exports.Patch = Patch;
|
|
|
348
351
|
* @param path - url path to method eg. /foo/bar/:id
|
|
349
352
|
* @param routeName - route name visible in api. If undefined, method name is taken
|
|
350
353
|
*/
|
|
351
|
-
function Del(path) {
|
|
354
|
+
function Del(path, schema) {
|
|
352
355
|
return Route((_, route) => {
|
|
353
356
|
route.Type = interfaces_1.RouteType.DELETE;
|
|
354
357
|
route.InternalType = interfaces_1.RouteType.DELETE;
|
|
355
358
|
route.Path = path;
|
|
359
|
+
route.Schema = schema;
|
|
356
360
|
});
|
|
357
361
|
}
|
|
358
362
|
exports.Del = Del;
|
|
@@ -360,11 +364,12 @@ exports.Del = Del;
|
|
|
360
364
|
* Creates PUT http request method
|
|
361
365
|
* @param path - url path to method eg. /foo/bar/:id
|
|
362
366
|
*/
|
|
363
|
-
function Put(path) {
|
|
367
|
+
function Put(path, schema) {
|
|
364
368
|
return Route((_, route) => {
|
|
365
369
|
route.Type = interfaces_1.RouteType.PUT;
|
|
366
370
|
route.InternalType = interfaces_1.RouteType.PUT;
|
|
367
371
|
route.Path = path;
|
|
372
|
+
route.Schema = schema;
|
|
368
373
|
});
|
|
369
374
|
}
|
|
370
375
|
exports.Put = Put;
|
|
@@ -372,11 +377,12 @@ exports.Put = Put;
|
|
|
372
377
|
* Creates GET http request method
|
|
373
378
|
* @param path - url path to method eg. /foo/bar/:id
|
|
374
379
|
*/
|
|
375
|
-
function Get(path) {
|
|
380
|
+
function Get(path, schema) {
|
|
376
381
|
return Route((_, route) => {
|
|
377
382
|
route.Type = interfaces_1.RouteType.GET;
|
|
378
383
|
route.InternalType = interfaces_1.RouteType.GET;
|
|
379
384
|
route.Path = path;
|
|
385
|
+
route.Schema = schema;
|
|
380
386
|
});
|
|
381
387
|
}
|
|
382
388
|
exports.Get = Get;
|
|
@@ -385,11 +391,12 @@ exports.Get = Get;
|
|
|
385
391
|
*
|
|
386
392
|
* @param path - url path to method eg. /foo/bar
|
|
387
393
|
*/
|
|
388
|
-
function Post(path) {
|
|
394
|
+
function Post(path, schema) {
|
|
389
395
|
return Route((_, route) => {
|
|
390
396
|
route.Type = interfaces_1.RouteType.POST;
|
|
391
397
|
route.InternalType = interfaces_1.RouteType.POST;
|
|
392
398
|
route.Path = path;
|
|
399
|
+
route.Schema = schema;
|
|
393
400
|
});
|
|
394
401
|
}
|
|
395
402
|
exports.Post = Post;
|
package/lib/decorators.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../src/decorators.ts"],"names":[],"mappings":";;;AACA,6CAA+K;AAE/K,iEAA8D;AAEjD,QAAA,4BAA4B,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAExE,SAAS,UAAU,CAAC,QAAgJ;IAClK,OAAO,CAAC,MAAW,EAAE,WAA6B,EAAE,iBAA+C,EAAE,EAAE;QACrG,IAAI,QAAQ,GAA0B,OAAO,CAAC,WAAW,CAAC,oCAA4B,EAAE,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,CAAC;QACpH,IAAI,CAAC,QAAQ,EAAE;YACb,QAAQ,GAAG;gBACT,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,EAAE;gBACf,QAAQ,EAAE,EAAE;gBACZ,MAAM,EAAE,IAAI,GAAG,EAAkB;aAClC,CAAC;YAEF,OAAO,CAAC,cAAc,CAAC,oCAA4B,EAAE,QAAQ,EAAE,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,CAAC;SAC5F;QAED,IAAI,QAAQ,EAAE;YACZ,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;SAC5D;IACH,CAAC,CAAC;AACJ,CAAC;AAED,SAAgB,KAAK,CAAC,QAAwJ;IAC5K,OAAO,UAAU,CAAC,CAAC,QAA+B,EAAE,MAAW,EAAE,WAAmB,EAAE,iBAA8C,EAAE,EAAE;QACtI,IAAI,KAAK,GAAW,IAAI,CAAC;QACzB,IAAI,WAAW,EAAE;YACf,IAAI,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;gBACpC,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;aAC1C;iBAAM;gBACL,KAAK,GAAG;oBACN,YAAY,EAAE,sBAAS,CAAC,OAAO;oBAC/B,MAAM,EAAE,WAAW;oBACnB,WAAW,EAAE,EAAE;oBACf,UAAU,EAAE,IAAI,GAAG,EAA2B;oBAC9C,IAAI,EAAE,EAAE;oBACR,QAAQ,EAAE,EAAE;oBACZ,IAAI,EAAE,sBAAS,CAAC,OAAO;oBACvB,OAAO,EAAE,IAAI;
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../src/decorators.ts"],"names":[],"mappings":"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"}
|
package/lib/interfaces.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as express from 'express';
|
|
2
|
-
import { Constructor } from '@spinajs/di';
|
|
2
|
+
import { Constructor, AsyncModule } from '@spinajs/di';
|
|
3
3
|
import { Configuration } from '@spinajs/configuration';
|
|
4
4
|
/**
|
|
5
5
|
* Accept header enum
|
|
@@ -46,6 +46,18 @@ export interface IUploadedFile {
|
|
|
46
46
|
LastModifiedDate?: Date;
|
|
47
47
|
Hash?: string;
|
|
48
48
|
}
|
|
49
|
+
export interface Request extends express.Request {
|
|
50
|
+
storage: IActionLocalStoregeContext;
|
|
51
|
+
}
|
|
52
|
+
export interface IActionLocalStoregeContext {
|
|
53
|
+
requestId: string;
|
|
54
|
+
responseStart: Date;
|
|
55
|
+
}
|
|
56
|
+
export declare abstract class ServerMiddleware extends AsyncModule {
|
|
57
|
+
Order: number;
|
|
58
|
+
abstract before(): (req: express.Request, res: express.Response, next: express.NextFunction) => void | null;
|
|
59
|
+
abstract after(): (req: express.Request, res: express.Response, next: express.NextFunction) => void | null;
|
|
60
|
+
}
|
|
49
61
|
/**
|
|
50
62
|
* HTTP response statuses
|
|
51
63
|
*/
|
|
@@ -260,7 +272,11 @@ export interface IRouteParameter {
|
|
|
260
272
|
*/
|
|
261
273
|
Type: ParameterType | string;
|
|
262
274
|
/**
|
|
263
|
-
* Schema for validation
|
|
275
|
+
* Schema for validation parameter ( raw value eg. to check if matches string / number constrain)
|
|
276
|
+
*/
|
|
277
|
+
RouteParamSchema?: any;
|
|
278
|
+
/**
|
|
279
|
+
* Schema for paramater
|
|
264
280
|
*/
|
|
265
281
|
Schema?: any;
|
|
266
282
|
/**
|
|
@@ -318,6 +334,7 @@ export interface IRoute {
|
|
|
318
334
|
* Additional route options eg. file size etc.
|
|
319
335
|
*/
|
|
320
336
|
Options: any;
|
|
337
|
+
Schema: any;
|
|
321
338
|
}
|
|
322
339
|
export interface IMiddlewareDescriptor {
|
|
323
340
|
Type: Constructor<BaseMiddleware>;
|
package/lib/interfaces.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DataTransformer = exports.BasePolicy = exports.BaseMiddleware = exports.ParameterType = exports.UuidVersion = exports.RouteType = exports.HTTP_STATUS_CODE = exports.HttpAcceptHeaders = void 0;
|
|
3
|
+
exports.DataTransformer = exports.BasePolicy = exports.BaseMiddleware = exports.ParameterType = exports.UuidVersion = exports.RouteType = exports.HTTP_STATUS_CODE = exports.ServerMiddleware = exports.HttpAcceptHeaders = void 0;
|
|
4
|
+
const di_1 = require("@spinajs/di");
|
|
4
5
|
/**
|
|
5
6
|
* Accept header enum
|
|
6
7
|
*/
|
|
@@ -23,6 +24,9 @@ var HttpAcceptHeaders;
|
|
|
23
24
|
*/
|
|
24
25
|
HttpAcceptHeaders[HttpAcceptHeaders["ALL"] = 7] = "ALL";
|
|
25
26
|
})(HttpAcceptHeaders = exports.HttpAcceptHeaders || (exports.HttpAcceptHeaders = {}));
|
|
27
|
+
class ServerMiddleware extends di_1.AsyncModule {
|
|
28
|
+
}
|
|
29
|
+
exports.ServerMiddleware = ServerMiddleware;
|
|
26
30
|
/**
|
|
27
31
|
* HTTP response statuses
|
|
28
32
|
*/
|
package/lib/interfaces.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":";;;AACA,oCAAuD;AAGvD;;GAEG;AACH,IAAY,iBAoBX;AApBD,WAAY,iBAAiB;IAC3B;;OAEG;IACH,yDAAQ,CAAA;IAER;;OAEG;IACH,yDAAQ,CAAA;IAER;;OAEG;IACH,uDAAO,CAAA;IAEP;;OAEG;IACH,uDAAe,CAAA;AACjB,CAAC,EApBW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAoB5B;AAsCD,MAAsB,gBAAiB,SAAQ,gBAAW;CAKzD;AALD,4CAKC;AAED;;GAEG;AACH,IAAY,gBAwEX;AAxED,WAAY,gBAAgB;IAC1B;;OAEG;IACH,qDAAQ,CAAA;IAER;;OAEG;IACH,+DAAa,CAAA;IAEb;;OAEG;IACH,iEAAc,CAAA;IAEd;;OAEG;IACH,qEAAgB,CAAA;IAEhB;;;;OAIG;IACH,+EAAqB,CAAA;IAErB;;OAEG;IACH,yEAAkB,CAAA;IAElB;;OAEG;IACH,uEAAiB,CAAA;IAEjB;;OAEG;IACH,yEAAkB,CAAA;IAElB;;OAEG;IACH,mEAAe,CAAA;IAEf;;OAEG;IACH,mEAAe,CAAA;IAEf;;OAEG;IACH,6EAAoB,CAAA;IAEpB;;OAEG;IACH,iEAAc,CAAA;IAEd;;OAEG;IACH,6EAAoB,CAAA;IAEpB;;OAEG;IACH,+EAAqB,CAAA;AACvB,CAAC,EAxEW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAwE3B;AAED;;GAEG;AACH,IAAY,SAqCX;AArCD,WAAY,SAAS;IACnB;;OAEG;IACH,0BAAa,CAAA;IAEb;;OAEG;IACH,wBAAW,CAAA;IAEX;;OAEG;IACH,wBAAW,CAAA;IAEX;;OAEG;IACH,8BAAiB,CAAA;IAEjB;;OAEG;IACH,4BAAe,CAAA;IAEf;;OAEG;IACH,0BAAa,CAAA;IAEb;;OAEG;IACH,0BAAa,CAAA;IAEb,gCAAmB,CAAA;AACrB,CAAC,EArCW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAqCpB;AAED,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,yCAAE,CAAA;IACF,yCAAE,CAAA;IACF,yCAAE,CAAA;IACF,yCAAE,CAAA;AACJ,CAAC,EALW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAKtB;AAED;;GAEG;AACH,IAAY,aAoEX;AApED,WAAY,aAAa;IACvB;;OAEG;IACH,kCAAiB,CAAA;IAEjB;;OAEG;IACH,wCAAuB,CAAA;IAEvB;;OAEG;IACH,sCAAqB,CAAA;IAErB;;OAEG;IACH,0CAAyB,CAAA;IAEzB;;OAEG;IACH,sCAAqB,CAAA;IAErB;;OAEG;IACH,sCAAqB,CAAA;IAErB;;OAEG;IACH,oCAAmB,CAAA;IAEnB;;OAEG;IACH,8CAA6B,CAAA;IAE7B;;OAEG;IACH,4CAA2B,CAAA;IAE3B;;OAEG;IACH,wCAAuB,CAAA;IAEvB;;OAEG;IACH,0CAAyB,CAAA;IAEzB;;OAEG;IACH,0CAAyB,CAAA;IAEzB;;OAEG;IACH,qCAAoB,CAAA;IAEpB,mBAAmB;IACnB,sCAAqB,CAAA;AACvB,CAAC,EApEW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAoExB;AA0KD;;;GAGG;AACH,MAAsB,cAAc;CAenC;AAfD,wCAeC;AAWD;;;;GAIG;AACH,MAAsB,UAAU;CAgB/B;AAhBD,gCAgBC;AA2BD;;;;;;;GAOG;AACH,MAAsB,eAAe;CASpC;AATD,0CASC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Request, Response, NextFunction } from 'express';
|
|
2
|
+
import { ParamsDictionary } from 'express-serve-static-core';
|
|
3
|
+
import { ParsedQs } from 'qs';
|
|
4
|
+
import { ServerMiddleware, Request as sRequest } from '../interfaces';
|
|
5
|
+
import * as express from 'express';
|
|
6
|
+
export declare class RequestId extends ServerMiddleware {
|
|
7
|
+
constructor();
|
|
8
|
+
after(): (_req: sRequest, _res: express.Response, _next: express.NextFunction) => void;
|
|
9
|
+
before(): (req: Request<ParamsDictionary, any, any, ParsedQs, Record<string, any>>, res: Response<any, Record<string, any>>, next: NextFunction) => void;
|
|
10
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.RequestId = void 0;
|
|
13
|
+
const interfaces_1 = require("../interfaces");
|
|
14
|
+
const uuid_1 = require("uuid");
|
|
15
|
+
const di_1 = require("@spinajs/di");
|
|
16
|
+
let RequestId = class RequestId extends interfaces_1.ServerMiddleware {
|
|
17
|
+
constructor() {
|
|
18
|
+
super();
|
|
19
|
+
this.Order = 1;
|
|
20
|
+
}
|
|
21
|
+
after() {
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
before() {
|
|
25
|
+
return (req, _res, next) => {
|
|
26
|
+
req.storage.requestId = (0, uuid_1.v4)();
|
|
27
|
+
next();
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
RequestId = __decorate([
|
|
32
|
+
(0, di_1.Injectable)(interfaces_1.ServerMiddleware),
|
|
33
|
+
__metadata("design:paramtypes", [])
|
|
34
|
+
], RequestId);
|
|
35
|
+
exports.RequestId = RequestId;
|
|
36
|
+
//# sourceMappingURL=RequestId.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RequestId.js","sourceRoot":"","sources":["../../src/middlewares/RequestId.ts"],"names":[],"mappings":";;;;;;;;;;;;AAGA,8CAAsE;AAEtE,+BAAoC;AACpC,oCAAyC;AAGzC,IAAa,SAAS,GAAtB,MAAa,SAAU,SAAQ,6BAAgB;IAC7C;QACE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IACjB,CAAC;IAEM,KAAK;QACV,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,MAAM;QACX,OAAO,CAAC,GAAa,EAAE,IAAsB,EAAE,IAA0B,EAAE,EAAE;YAC3E,GAAG,CAAC,OAAO,CAAC,SAAS,GAAG,IAAA,SAAM,GAAE,CAAC;YACjC,IAAI,EAAE,CAAC;QACT,CAAC,CAAC;IACJ,CAAC;CACF,CAAA;AAhBY,SAAS;IADrB,IAAA,eAAU,EAAC,6BAAgB,CAAC;;GAChB,SAAS,CAgBrB;AAhBY,8BAAS"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Request, Response, NextFunction } from 'express';
|
|
2
|
+
import { ParamsDictionary } from 'express-serve-static-core';
|
|
3
|
+
import { ParsedQs } from 'qs';
|
|
4
|
+
import { ServerMiddleware } from '../interfaces';
|
|
5
|
+
import * as express from 'express';
|
|
6
|
+
export declare class ResponseTime extends ServerMiddleware {
|
|
7
|
+
constructor();
|
|
8
|
+
after(): (req: express.Request, _res: express.Response, _next: express.NextFunction) => void;
|
|
9
|
+
before(): (_req: Request<ParamsDictionary, any, any, ParsedQs, Record<string, any>>, res: Response<any, Record<string, any>>, next: NextFunction) => void;
|
|
10
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.ResponseTime = void 0;
|
|
13
|
+
const interfaces_1 = require("../interfaces");
|
|
14
|
+
const di_1 = require("@spinajs/di");
|
|
15
|
+
let ResponseTime = class ResponseTime extends interfaces_1.ServerMiddleware {
|
|
16
|
+
constructor() {
|
|
17
|
+
super();
|
|
18
|
+
this.Order = -1;
|
|
19
|
+
}
|
|
20
|
+
after() {
|
|
21
|
+
return (req, res, next) => {
|
|
22
|
+
const end = new Date();
|
|
23
|
+
const diff = end.getTime() - req.storage.responseStart.getTime();
|
|
24
|
+
res.header('x-response-time', diff.toString());
|
|
25
|
+
next();
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
before() {
|
|
29
|
+
return (req, _res, next) => {
|
|
30
|
+
req.storage.responseStart = new Date();
|
|
31
|
+
next();
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
ResponseTime = __decorate([
|
|
36
|
+
(0, di_1.Injectable)(interfaces_1.ServerMiddleware),
|
|
37
|
+
__metadata("design:paramtypes", [])
|
|
38
|
+
], ResponseTime);
|
|
39
|
+
exports.ResponseTime = ResponseTime;
|
|
40
|
+
//# sourceMappingURL=ResponseTime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResponseTime.js","sourceRoot":"","sources":["../../src/middlewares/ResponseTime.ts"],"names":[],"mappings":";;;;;;;;;;;;AAGA,8CAAsE;AAEtE,oCAAyC;AAGzC,IAAa,YAAY,GAAzB,MAAa,YAAa,SAAQ,6BAAgB;IAChD;QACE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IAClB,CAAC;IAEM,KAAK;QACV,OAAO,CAAC,GAAa,EAAE,GAAqB,EAAE,IAA0B,EAAE,EAAE;YAC1E,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;YACjE,GAAG,CAAC,MAAM,CAAC,iBAAiB,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC/C,IAAI,EAAE,CAAC;QACT,CAAC,CAAC;IACJ,CAAC;IAEM,MAAM;QACX,OAAO,CAAC,GAAa,EAAE,IAAsB,EAAE,IAA0B,EAAE,EAAE;YAC3E,GAAG,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC;YACvC,IAAI,EAAE,CAAC;QACT,CAAC,CAAC;IACJ,CAAC;CACF,CAAA;AArBY,YAAY;IADxB,IAAA,eAAU,EAAC,6BAAgB,CAAC;;GAChB,YAAY,CAqBxB;AArBY,oCAAY"}
|