@spinajs/http 1.2.115 → 1.2.135
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 +5 -1
- package/lib/controllers.js +31 -20
- package/lib/controllers.js.map +1 -1
- package/lib/decorators.d.ts +16 -11
- package/lib/decorators.js +75 -37
- package/lib/decorators.js.map +1 -1
- package/lib/interfaces.d.ts +21 -4
- package/lib/interfaces.js +7 -3
- 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 +55 -11
- package/lib/route-args/RouteArgs.js.map +1 -1
- package/lib/schemas/RouteArgsSchemas.d.ts +24 -3
- 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 +19 -0
- package/lib/server.js.map +1 -1
- package/package.json +9 -9
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
|
*/
|
|
@@ -38,5 +41,6 @@ export declare class Controllers extends AsyncModule {
|
|
|
38
41
|
protected Log: Log;
|
|
39
42
|
protected Container: IContainer;
|
|
40
43
|
protected Server: HttpServer;
|
|
44
|
+
register(controller: ClassInfo<BaseController>): Promise<void>;
|
|
41
45
|
resolveAsync(): Promise<void>;
|
|
42
46
|
}
|
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,8 +183,32 @@ __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 {
|
|
192
|
+
async register(controller) {
|
|
193
|
+
this.Log.trace(`Loading controller: ${controller.name}`);
|
|
194
|
+
const compiler = new reflection_1.TypescriptCompiler(controller.file.replace('.js', '.d.ts'));
|
|
195
|
+
const members = compiler.getClassMembers(controller.name);
|
|
196
|
+
for (const [name, route] of controller.instance.Descriptor.Routes) {
|
|
197
|
+
if (members.has(name)) {
|
|
198
|
+
const member = members.get(name);
|
|
199
|
+
for (const [index, rParam] of route.Parameters) {
|
|
200
|
+
const parameterInfo = member.parameters[index];
|
|
201
|
+
if (parameterInfo) {
|
|
202
|
+
rParam.Name = parameterInfo.name.text;
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
else {
|
|
207
|
+
this.Log.error(`Controller ${controller.name} does not have member ${name} for route ${route.Path}`);
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
this.Server.use(controller.instance.Router);
|
|
211
|
+
}
|
|
184
212
|
async resolveAsync() {
|
|
185
213
|
/**
|
|
186
214
|
* globally register controller validator, we use ajv lib
|
|
@@ -189,24 +217,7 @@ class Controllers extends di_1.AsyncModule {
|
|
|
189
217
|
di_1.DI.register(validation_1.DataValidator).asSelf().singleInstance();
|
|
190
218
|
// extract parameters info from controllers source code & register in http server
|
|
191
219
|
for (const controller of await this.Controllers) {
|
|
192
|
-
this.
|
|
193
|
-
const compiler = new reflection_1.TypescriptCompiler(controller.file.replace('.js', '.d.ts'));
|
|
194
|
-
const members = compiler.getClassMembers(controller.name);
|
|
195
|
-
for (const [name, route] of controller.instance.Descriptor.Routes) {
|
|
196
|
-
if (members.has(name)) {
|
|
197
|
-
const member = members.get(name);
|
|
198
|
-
for (const [index, rParam] of route.Parameters) {
|
|
199
|
-
const parameterInfo = member.parameters[index];
|
|
200
|
-
if (parameterInfo) {
|
|
201
|
-
rParam.Name = parameterInfo.name.text;
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
else {
|
|
206
|
-
this.Log.error(`Controller ${controller.name} does not have member ${name} for route ${route.Path}`);
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
this.Server.use(controller.instance.Router);
|
|
220
|
+
this.register(controller);
|
|
210
221
|
}
|
|
211
222
|
}
|
|
212
223
|
}
|
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
|
@@ -3,6 +3,11 @@ import { ParameterType, IControllerDescriptor, BasePolicy, BaseMiddleware, IRout
|
|
|
3
3
|
import { ArgHydrator } from './route-args/ArgHydrator';
|
|
4
4
|
export declare const CONTROLLED_DESCRIPTOR_SYMBOL: unique symbol;
|
|
5
5
|
export declare function Route(callback: (controller: IControllerDescriptor, route: IRoute, target: any, propertyKey?: string, indexOrDescriptor?: number | PropertyDescriptor) => void): (target: any, propertyKey?: string | symbol, indexOrDescriptor?: number | PropertyDescriptor) => void;
|
|
6
|
+
/**
|
|
7
|
+
* Ugly hack to specify type for route args. Mostly used to define type of array, becouse typescript does not
|
|
8
|
+
* have information about this.
|
|
9
|
+
*/
|
|
10
|
+
export declare function Type(type: any): (target: any, propertyKey?: string | symbol, indexOrDescriptor?: number | PropertyDescriptor) => void;
|
|
6
11
|
export declare function Parameter(type: ParameterType | string, schema?: any, options?: any): (_: IControllerDescriptor, route: IRoute, target: any, propertyKey: string, index: number) => void;
|
|
7
12
|
/**
|
|
8
13
|
* Tells controller how to fill up incoming parameters in controller actions
|
|
@@ -26,14 +31,14 @@ export declare function Query(schema?: any): (target: any, propertyKey?: string
|
|
|
26
31
|
*
|
|
27
32
|
* @param schema - parameter json schema for optional validation
|
|
28
33
|
*/
|
|
29
|
-
export declare function Body(
|
|
34
|
+
export declare function Body(): (target: any, propertyKey?: string | symbol, indexOrDescriptor?: number | PropertyDescriptor) => void;
|
|
30
35
|
/**
|
|
31
36
|
* Route parameter taken from url parameters eg. route/:id
|
|
32
37
|
*
|
|
33
38
|
* @param schema - parameter json schema for optional validation
|
|
34
39
|
*/
|
|
35
40
|
export declare function Param(schema?: any): (target: any, propertyKey?: string | symbol, indexOrDescriptor?: number | PropertyDescriptor) => void;
|
|
36
|
-
export declare function FromModel(
|
|
41
|
+
export declare function FromModel(): (target: any, propertyKey?: string | symbol, indexOrDescriptor?: number | PropertyDescriptor) => void;
|
|
37
42
|
/**
|
|
38
43
|
* Gets parameter from request header. If not keyname is provided
|
|
39
44
|
* variable name is used as header key name
|
|
@@ -57,21 +62,21 @@ export declare function File(options?: IUploadOptions): (target: any, propertyKe
|
|
|
57
62
|
* @param cvsParseOptions - cvs parser options
|
|
58
63
|
* @param schema - optional schema for data validation
|
|
59
64
|
*/
|
|
60
|
-
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;
|
|
61
66
|
/**
|
|
62
67
|
* Data taken from cvs file that is uploaded. Actions receives parsed data
|
|
63
68
|
*
|
|
64
69
|
* @param options - upload options
|
|
65
70
|
* @param schema - optional schema for data validation
|
|
66
71
|
*/
|
|
67
|
-
export declare function JsonFile(options?: IUploadOptions
|
|
72
|
+
export declare function JsonFile(options?: IUploadOptions): (target: any, propertyKey?: string | symbol, indexOrDescriptor?: number | PropertyDescriptor) => void;
|
|
68
73
|
/**
|
|
69
74
|
*
|
|
70
75
|
* Parameter taken from form data (multipart-form)
|
|
71
76
|
*
|
|
72
77
|
* @param options - upload options
|
|
73
78
|
*/
|
|
74
|
-
export declare function Form(
|
|
79
|
+
export declare function Form(options?: IFormOptions): (target: any, propertyKey?: string | symbol, indexOrDescriptor?: number | PropertyDescriptor) => void;
|
|
75
80
|
/**
|
|
76
81
|
*
|
|
77
82
|
* Parameter taken from form data (multipart-form)
|
|
@@ -121,31 +126,31 @@ export declare function Cookie(): (target: any, propertyKey?: string | symbol, i
|
|
|
121
126
|
* Creates HEAD http request method
|
|
122
127
|
* @param path - url path to method eg. /foo/bar/:id
|
|
123
128
|
*/
|
|
124
|
-
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;
|
|
125
130
|
/**
|
|
126
131
|
* Creates PATCH http request method
|
|
127
132
|
* @param path - url path to method eg. /foo/bar/:id
|
|
128
133
|
*/
|
|
129
|
-
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;
|
|
130
135
|
/**
|
|
131
136
|
* Creates DELETE http request method
|
|
132
137
|
* @param path - url path to method eg. /foo/bar/:id
|
|
133
138
|
* @param routeName - route name visible in api. If undefined, method name is taken
|
|
134
139
|
*/
|
|
135
|
-
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;
|
|
136
141
|
/**
|
|
137
142
|
* Creates PUT http request method
|
|
138
143
|
* @param path - url path to method eg. /foo/bar/:id
|
|
139
144
|
*/
|
|
140
|
-
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;
|
|
141
146
|
/**
|
|
142
147
|
* Creates GET http request method
|
|
143
148
|
* @param path - url path to method eg. /foo/bar/:id
|
|
144
149
|
*/
|
|
145
|
-
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;
|
|
146
151
|
/**
|
|
147
152
|
* Creates POST http request method
|
|
148
153
|
*
|
|
149
154
|
* @param path - url path to method eg. /foo/bar
|
|
150
155
|
*/
|
|
151
|
-
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
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Post = exports.Get = exports.Put = exports.Del = exports.Patch = exports.Head = exports.Cookie = exports.Model = exports.Res = exports.Req = exports.Uuid = exports.PKey = exports.FormField = exports.Form = exports.JsonFile = exports.CsvFile = exports.File = exports.Header = exports.FromModel = exports.Param = exports.Body = exports.Query = exports.FromDI = exports.BasePath = exports.Middleware = exports.Policy = exports.Hydrator = exports.Parameter = exports.Route = exports.CONTROLLED_DESCRIPTOR_SYMBOL = void 0;
|
|
3
|
+
exports.Post = exports.Get = exports.Put = exports.Del = exports.Patch = exports.Head = exports.Cookie = exports.Model = exports.Res = exports.Req = exports.Uuid = exports.PKey = exports.FormField = exports.Form = exports.JsonFile = exports.CsvFile = exports.File = exports.Header = exports.FromModel = exports.Param = exports.Body = exports.Query = exports.FromDI = exports.BasePath = exports.Middleware = exports.Policy = exports.Hydrator = exports.Parameter = exports.Type = exports.Route = exports.CONTROLLED_DESCRIPTOR_SYMBOL = void 0;
|
|
4
4
|
const interfaces_1 = require("./interfaces");
|
|
5
5
|
const RouteArgsSchemas_1 = require("./schemas/RouteArgsSchemas");
|
|
6
6
|
exports.CONTROLLED_DESCRIPTOR_SYMBOL = Symbol('CONTROLLER_SYMBOL');
|
|
@@ -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);
|
|
@@ -48,31 +49,62 @@ function Route(callback) {
|
|
|
48
49
|
});
|
|
49
50
|
}
|
|
50
51
|
exports.Route = Route;
|
|
52
|
+
/**
|
|
53
|
+
* Ugly hack to specify type for route args. Mostly used to define type of array, becouse typescript does not
|
|
54
|
+
* have information about this.
|
|
55
|
+
*/
|
|
56
|
+
function Type(type) {
|
|
57
|
+
return Route((_, route, _target, _propertyKey, index) => {
|
|
58
|
+
if (route.Parameters.has(index)) {
|
|
59
|
+
route.Parameters.get(index).RuntimeType = type;
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
const param = {
|
|
63
|
+
Index: index,
|
|
64
|
+
Name: '',
|
|
65
|
+
RuntimeType: type,
|
|
66
|
+
RouteParamSchema: '',
|
|
67
|
+
Options: null,
|
|
68
|
+
Type: null,
|
|
69
|
+
};
|
|
70
|
+
route.Parameters.set(index, param);
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
exports.Type = Type;
|
|
51
75
|
function Parameter(type, schema, options) {
|
|
52
76
|
return (_, route, target, propertyKey, index) => {
|
|
53
77
|
const rType = Reflect.getMetadata('design:paramtypes', target.prototype || target, propertyKey)[index];
|
|
54
78
|
let tSchema = null;
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
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;
|
|
88
|
+
}
|
|
89
|
+
if (route.Parameters.has(index)) {
|
|
90
|
+
const p = route.Parameters.get(index);
|
|
91
|
+
p.Type = type;
|
|
92
|
+
p.Options = options;
|
|
93
|
+
p.RouteParamSchema = tSchema;
|
|
94
|
+
p.Schema = schema;
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
const param = {
|
|
98
|
+
Index: index,
|
|
99
|
+
Name: '',
|
|
100
|
+
RuntimeType: rType,
|
|
101
|
+
RouteParamSchema: tSchema,
|
|
102
|
+
Schema: schema,
|
|
103
|
+
Options: options,
|
|
104
|
+
Type: type,
|
|
105
|
+
};
|
|
106
|
+
route.Parameters.set(index, param);
|
|
66
107
|
}
|
|
67
|
-
const param = {
|
|
68
|
-
Index: index,
|
|
69
|
-
Name: '',
|
|
70
|
-
RuntimeType: rType,
|
|
71
|
-
Schema: schema !== null && schema !== void 0 ? schema : tSchema,
|
|
72
|
-
Options: options,
|
|
73
|
-
Type: type,
|
|
74
|
-
};
|
|
75
|
-
route.Parameters.set(index, param);
|
|
76
108
|
};
|
|
77
109
|
}
|
|
78
110
|
exports.Parameter = Parameter;
|
|
@@ -147,8 +179,8 @@ exports.Query = Query;
|
|
|
147
179
|
*
|
|
148
180
|
* @param schema - parameter json schema for optional validation
|
|
149
181
|
*/
|
|
150
|
-
function Body(
|
|
151
|
-
return Route(Parameter(interfaces_1.ParameterType.FromBody,
|
|
182
|
+
function Body() {
|
|
183
|
+
return Route(Parameter(interfaces_1.ParameterType.FromBody, null));
|
|
152
184
|
}
|
|
153
185
|
exports.Body = Body;
|
|
154
186
|
/**
|
|
@@ -160,8 +192,8 @@ function Param(schema) {
|
|
|
160
192
|
return Route(Parameter(interfaces_1.ParameterType.FromParams, schema));
|
|
161
193
|
}
|
|
162
194
|
exports.Param = Param;
|
|
163
|
-
function FromModel(
|
|
164
|
-
return Route(Parameter(interfaces_1.ParameterType.FromModel,
|
|
195
|
+
function FromModel() {
|
|
196
|
+
return Route(Parameter(interfaces_1.ParameterType.FromModel, null));
|
|
165
197
|
}
|
|
166
198
|
exports.FromModel = FromModel;
|
|
167
199
|
/**
|
|
@@ -193,8 +225,8 @@ exports.File = File;
|
|
|
193
225
|
* @param cvsParseOptions - cvs parser options
|
|
194
226
|
* @param schema - optional schema for data validation
|
|
195
227
|
*/
|
|
196
|
-
function CsvFile(options, cvsParseOptions
|
|
197
|
-
return Route(Parameter(interfaces_1.ParameterType.FromCSV,
|
|
228
|
+
function CsvFile(options, cvsParseOptions) {
|
|
229
|
+
return Route(Parameter(interfaces_1.ParameterType.FromCSV, null, {
|
|
198
230
|
uploadOptions: options,
|
|
199
231
|
cvsOptions: cvsParseOptions,
|
|
200
232
|
}));
|
|
@@ -206,8 +238,8 @@ exports.CsvFile = CsvFile;
|
|
|
206
238
|
* @param options - upload options
|
|
207
239
|
* @param schema - optional schema for data validation
|
|
208
240
|
*/
|
|
209
|
-
function JsonFile(options
|
|
210
|
-
return Route(Parameter(interfaces_1.ParameterType.FromJSONFile,
|
|
241
|
+
function JsonFile(options) {
|
|
242
|
+
return Route(Parameter(interfaces_1.ParameterType.FromJSONFile, null, options));
|
|
211
243
|
}
|
|
212
244
|
exports.JsonFile = JsonFile;
|
|
213
245
|
/**
|
|
@@ -216,8 +248,8 @@ exports.JsonFile = JsonFile;
|
|
|
216
248
|
*
|
|
217
249
|
* @param options - upload options
|
|
218
250
|
*/
|
|
219
|
-
function Form(
|
|
220
|
-
return Route(Parameter(interfaces_1.ParameterType.FromForm,
|
|
251
|
+
function Form(options) {
|
|
252
|
+
return Route(Parameter(interfaces_1.ParameterType.FromForm, options));
|
|
221
253
|
}
|
|
222
254
|
exports.Form = Form;
|
|
223
255
|
/**
|
|
@@ -292,11 +324,12 @@ exports.Cookie = Cookie;
|
|
|
292
324
|
* Creates HEAD http request method
|
|
293
325
|
* @param path - url path to method eg. /foo/bar/:id
|
|
294
326
|
*/
|
|
295
|
-
function Head(path) {
|
|
327
|
+
function Head(path, schema) {
|
|
296
328
|
return Route((_, route) => {
|
|
297
329
|
route.Type = interfaces_1.RouteType.HEAD;
|
|
298
330
|
route.InternalType = interfaces_1.RouteType.HEAD;
|
|
299
331
|
route.Path = path;
|
|
332
|
+
route.Schema = schema;
|
|
300
333
|
});
|
|
301
334
|
}
|
|
302
335
|
exports.Head = Head;
|
|
@@ -304,11 +337,12 @@ exports.Head = Head;
|
|
|
304
337
|
* Creates PATCH http request method
|
|
305
338
|
* @param path - url path to method eg. /foo/bar/:id
|
|
306
339
|
*/
|
|
307
|
-
function Patch(path) {
|
|
340
|
+
function Patch(path, schema) {
|
|
308
341
|
return Route((_, route) => {
|
|
309
342
|
route.Type = interfaces_1.RouteType.PATCH;
|
|
310
343
|
route.InternalType = interfaces_1.RouteType.PATCH;
|
|
311
344
|
route.Path = path;
|
|
345
|
+
route.Schema = schema;
|
|
312
346
|
});
|
|
313
347
|
}
|
|
314
348
|
exports.Patch = Patch;
|
|
@@ -317,11 +351,12 @@ exports.Patch = Patch;
|
|
|
317
351
|
* @param path - url path to method eg. /foo/bar/:id
|
|
318
352
|
* @param routeName - route name visible in api. If undefined, method name is taken
|
|
319
353
|
*/
|
|
320
|
-
function Del(path) {
|
|
354
|
+
function Del(path, schema) {
|
|
321
355
|
return Route((_, route) => {
|
|
322
356
|
route.Type = interfaces_1.RouteType.DELETE;
|
|
323
357
|
route.InternalType = interfaces_1.RouteType.DELETE;
|
|
324
358
|
route.Path = path;
|
|
359
|
+
route.Schema = schema;
|
|
325
360
|
});
|
|
326
361
|
}
|
|
327
362
|
exports.Del = Del;
|
|
@@ -329,11 +364,12 @@ exports.Del = Del;
|
|
|
329
364
|
* Creates PUT http request method
|
|
330
365
|
* @param path - url path to method eg. /foo/bar/:id
|
|
331
366
|
*/
|
|
332
|
-
function Put(path) {
|
|
367
|
+
function Put(path, schema) {
|
|
333
368
|
return Route((_, route) => {
|
|
334
369
|
route.Type = interfaces_1.RouteType.PUT;
|
|
335
370
|
route.InternalType = interfaces_1.RouteType.PUT;
|
|
336
371
|
route.Path = path;
|
|
372
|
+
route.Schema = schema;
|
|
337
373
|
});
|
|
338
374
|
}
|
|
339
375
|
exports.Put = Put;
|
|
@@ -341,11 +377,12 @@ exports.Put = Put;
|
|
|
341
377
|
* Creates GET http request method
|
|
342
378
|
* @param path - url path to method eg. /foo/bar/:id
|
|
343
379
|
*/
|
|
344
|
-
function Get(path) {
|
|
380
|
+
function Get(path, schema) {
|
|
345
381
|
return Route((_, route) => {
|
|
346
382
|
route.Type = interfaces_1.RouteType.GET;
|
|
347
383
|
route.InternalType = interfaces_1.RouteType.GET;
|
|
348
384
|
route.Path = path;
|
|
385
|
+
route.Schema = schema;
|
|
349
386
|
});
|
|
350
387
|
}
|
|
351
388
|
exports.Get = Get;
|
|
@@ -354,11 +391,12 @@ exports.Get = Get;
|
|
|
354
391
|
*
|
|
355
392
|
* @param path - url path to method eg. /foo/bar
|
|
356
393
|
*/
|
|
357
|
-
function Post(path) {
|
|
394
|
+
function Post(path, schema) {
|
|
358
395
|
return Route((_, route) => {
|
|
359
396
|
route.Type = interfaces_1.RouteType.POST;
|
|
360
397
|
route.InternalType = interfaces_1.RouteType.POST;
|
|
361
398
|
route.Path = path;
|
|
399
|
+
route.Schema = schema;
|
|
362
400
|
});
|
|
363
401
|
}
|
|
364
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
|
*/
|
|
@@ -204,8 +216,8 @@ export declare enum ParameterType {
|
|
|
204
216
|
/**
|
|
205
217
|
* Req from express
|
|
206
218
|
*/
|
|
207
|
-
Req = "
|
|
208
|
-
Res = "
|
|
219
|
+
Req = "ArgAsRequest",
|
|
220
|
+
Res = "ArgAsResponse"
|
|
209
221
|
}
|
|
210
222
|
export interface IFormOptions {
|
|
211
223
|
multiples: boolean;
|
|
@@ -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
|
*/
|
|
@@ -185,9 +189,9 @@ var ParameterType;
|
|
|
185
189
|
/**
|
|
186
190
|
* Req from express
|
|
187
191
|
*/
|
|
188
|
-
ParameterType["Req"] = "
|
|
192
|
+
ParameterType["Req"] = "ArgAsRequest";
|
|
189
193
|
// Res from express
|
|
190
|
-
ParameterType["Res"] = "
|
|
194
|
+
ParameterType["Res"] = "ArgAsResponse";
|
|
191
195
|
})(ParameterType = exports.ParameterType || (exports.ParameterType = {}));
|
|
192
196
|
/**
|
|
193
197
|
* Middlewares are classes that can change request object or perform specific task before & after route execution
|
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
|
+
}
|