@deepkit/http 1.0.1-alpha.70 → 1.0.1-alpha.73
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/cjs/src/decorator.d.ts +8 -6
- package/dist/cjs/src/decorator.js +49 -12
- package/dist/cjs/src/decorator.js.map +1 -1
- package/dist/cjs/src/filter.d.ts +3 -3
- package/dist/cjs/src/filter.js +3 -3
- package/dist/cjs/src/filter.js.map +1 -1
- package/dist/cjs/src/http.d.ts +49 -11
- package/dist/cjs/src/http.js +124 -38
- package/dist/cjs/src/http.js.map +1 -1
- package/dist/cjs/src/kernel.d.ts +3 -3
- package/dist/cjs/src/kernel.js +1 -1
- package/dist/cjs/src/kernel.js.map +1 -1
- package/dist/cjs/src/model.d.ts +11 -3
- package/dist/cjs/src/model.js +58 -26
- package/dist/cjs/src/model.js.map +1 -1
- package/dist/cjs/src/module.js +5 -3
- package/dist/cjs/src/module.js.map +1 -1
- package/dist/cjs/src/router.d.ts +84 -11
- package/dist/cjs/src/router.js +280 -94
- package/dist/cjs/src/router.js.map +1 -1
- package/dist/cjs/src/static-serving.js +15 -8
- package/dist/cjs/src/static-serving.js.map +1 -1
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/src/decorator.d.ts +8 -6
- package/dist/esm/src/decorator.js +47 -11
- package/dist/esm/src/decorator.js.map +1 -1
- package/dist/esm/src/filter.d.ts +3 -3
- package/dist/esm/src/filter.js +4 -4
- package/dist/esm/src/filter.js.map +1 -1
- package/dist/esm/src/http.d.ts +49 -11
- package/dist/esm/src/http.js +111 -38
- package/dist/esm/src/http.js.map +1 -1
- package/dist/esm/src/kernel.d.ts +3 -3
- package/dist/esm/src/kernel.js +2 -2
- package/dist/esm/src/kernel.js.map +1 -1
- package/dist/esm/src/model.d.ts +11 -3
- package/dist/esm/src/model.js +47 -15
- package/dist/esm/src/model.js.map +1 -1
- package/dist/esm/src/module.js +6 -4
- package/dist/esm/src/module.js.map +1 -1
- package/dist/esm/src/router.d.ts +84 -11
- package/dist/esm/src/router.js +278 -94
- package/dist/esm/src/router.js.map +1 -1
- package/dist/esm/src/static-serving.js +16 -9
- package/dist/esm/src/static-serving.js.map +1 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/package.json +17 -14
- package/src/decorator.ts +9 -6
- package/src/filter.ts +4 -4
- package/src/http.ts +83 -15
- package/src/kernel.ts +2 -2
- package/src/model.ts +35 -6
- package/src/module.ts +5 -3
- package/src/router.ts +286 -73
- package/src/static-serving.ts +6 -3
- package/coverage/clover.xml +0 -1086
- package/coverage/coverage-final.json +0 -12
- package/coverage/lcov-report/base.css +0 -224
- package/coverage/lcov-report/block-navigation.js +0 -79
- package/coverage/lcov-report/favicon.png +0 -0
- package/coverage/lcov-report/index.html +0 -126
- package/coverage/lcov-report/prettify.css +0 -1
- package/coverage/lcov-report/prettify.js +0 -2
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +0 -170
- package/coverage/lcov-report/src/controllers.ts.html +0 -113
- package/coverage/lcov-report/src/decorator.ts.html +0 -1280
- package/coverage/lcov-report/src/filter.ts.html +0 -734
- package/coverage/lcov-report/src/http.ts.html +0 -2192
- package/coverage/lcov-report/src/index.html +0 -246
- package/coverage/lcov-report/src/kernel.ts.html +0 -260
- package/coverage/lcov-report/src/middleware.ts.html +0 -428
- package/coverage/lcov-report/src/model.ts.html +0 -937
- package/coverage/lcov-report/src/module.config.ts.html +0 -89
- package/coverage/lcov-report/src/module.ts.html +0 -245
- package/coverage/lcov-report/src/router.ts.html +0 -2318
- package/coverage/lcov-report/tests/index.html +0 -111
- package/coverage/lcov-report/tests/utils.ts.html +0 -176
- package/coverage/lcov.info +0 -2225
- package/dist/cjs/tests/filter.spec.d.ts +0 -1
- package/dist/cjs/tests/filter.spec.js +0 -251
- package/dist/cjs/tests/filter.spec.js.map +0 -1
- package/dist/cjs/tests/middleware.spec.d.ts +0 -1
- package/dist/cjs/tests/middleware.spec.js +0 -471
- package/dist/cjs/tests/middleware.spec.js.map +0 -1
- package/dist/cjs/tests/model.spec.d.ts +0 -1
- package/dist/cjs/tests/model.spec.js +0 -23
- package/dist/cjs/tests/model.spec.js.map +0 -1
- package/dist/cjs/tests/module.spec.d.ts +0 -1
- package/dist/cjs/tests/module.spec.js +0 -46
- package/dist/cjs/tests/module.spec.js.map +0 -1
- package/dist/cjs/tests/router.spec.d.ts +0 -1
- package/dist/cjs/tests/router.spec.js +0 -987
- package/dist/cjs/tests/router.spec.js.map +0 -1
- package/dist/cjs/tests/utils.d.ts +0 -8
- package/dist/cjs/tests/utils.js +0 -30
- package/dist/cjs/tests/utils.js.map +0 -1
- package/dist/esm/tests/filter.spec.d.ts +0 -1
- package/dist/esm/tests/filter.spec.js +0 -249
- package/dist/esm/tests/filter.spec.js.map +0 -1
- package/dist/esm/tests/middleware.spec.d.ts +0 -1
- package/dist/esm/tests/middleware.spec.js +0 -469
- package/dist/esm/tests/middleware.spec.js.map +0 -1
- package/dist/esm/tests/model.spec.d.ts +0 -1
- package/dist/esm/tests/model.spec.js +0 -21
- package/dist/esm/tests/model.spec.js.map +0 -1
- package/dist/esm/tests/module.spec.d.ts +0 -1
- package/dist/esm/tests/module.spec.js +0 -44
- package/dist/esm/tests/module.spec.js.map +0 -1
- package/dist/esm/tests/router.spec.d.ts +0 -1
- package/dist/esm/tests/router.spec.js +0 -985
- package/dist/esm/tests/router.spec.js.map +0 -1
- package/dist/esm/tests/utils.d.ts +0 -8
- package/dist/esm/tests/utils.js +0 -26
- package/dist/esm/tests/utils.js.map +0 -1
- package/tests/filter.spec.ts +0 -181
- package/tests/middleware.spec.ts +0 -440
- package/tests/model.spec.ts +0 -26
- package/tests/module.spec.ts +0 -32
- package/tests/router.spec.ts +0 -781
- package/tests/utils.ts +0 -32
package/dist/esm/src/model.js
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
function __assignType(fn, args) {
|
|
2
|
+
fn.__type = args;
|
|
3
|
+
return fn;
|
|
4
|
+
}
|
|
5
|
+
const __ΩConcatArray = ['T', 'length', 'separator', 'join', 'start', 'end', 'slice', 'b!P\'4"9\'e"!LP&2#8&1$P\'2%8\'2&8e#!F1\'M'];
|
|
6
|
+
const __ΩReadonlyArray = ['T', 'length', 'toString', 'toLocaleString', () => __ΩConcatArray, 'items', 'concat', () => __ΩConcatArray, 'separator', 'join', 'start', 'end', 'slice', 'searchElement', 'fromIndex', 'indexOf', 'lastIndexOf', 'value', 'index', 'array', '', 'predicate', 'thisArg', 'every', 'some', 'callbackfn', 'forEach', 'map', 'filter', 'previousValue', 'currentValue', 'currentIndex', 'reduce', 'initialValue', 'reduceRight', 'b!P\'4"9P&1#P&1$Pe#!o%"@2&e#!F1\'PPe$!e$!o("J@2&e#!F1\'P&2)8&1*P\'2+8\'2,8e#!F1-Pe#!2.\'2/8\'10Pe#!2.\'2/8\'11PPe$!22\'2324!/526"278!18PPe$!22\'2324#/526"278)18PPe$!22\'2324#/526"278)19PPe$!22\'2324$/52:"278$1;PPe$!22\'2324"/52:"278"F1<PPe$!22\'2324!/526"278"F1=PPe$!22\'2324#/526"278e#!F1=PPe$!2>e$!2?\'2@24e$!/52:e#!1APPe$!2>e$!2?\'2@24e$!/52:e#!2Be#!1APP"2>e$!2?\'2@24"/52:"2B"1APPe$!2>e$!2?\'2@24e$!/52:e#!1CPPe$!2>e$!2?\'2@24e$!/52:e#!2Be#!1CPP"2>e$!2?\'2@24"/52:"2B"1C\'e"!LM'];
|
|
1
7
|
/*
|
|
2
8
|
* Deepkit Framework
|
|
3
9
|
* Copyright (C) 2021 Deepkit UG, Marc J. Schmidt
|
|
@@ -11,7 +17,8 @@ import { IncomingMessage, ServerResponse } from 'http';
|
|
|
11
17
|
import { UploadedFile } from './router';
|
|
12
18
|
import * as querystring from 'querystring';
|
|
13
19
|
import { Writable } from 'stream';
|
|
14
|
-
import { metaAnnotation, ValidationErrorItem } from '@deepkit/type';
|
|
20
|
+
import { metaAnnotation, ReflectionKind, ValidationErrorItem } from '@deepkit/type';
|
|
21
|
+
import { isArray } from '@deepkit/core';
|
|
15
22
|
export class HttpResponse extends ServerResponse {
|
|
16
23
|
status(code) {
|
|
17
24
|
this.writeHead(code);
|
|
@@ -32,14 +39,14 @@ export class BodyValidationError {
|
|
|
32
39
|
}
|
|
33
40
|
getErrors(prefix) {
|
|
34
41
|
if (prefix)
|
|
35
|
-
return this.errors.filter(
|
|
42
|
+
return this.errors.filter(__assignType(v => v.path.startsWith(prefix), ['v', '', 'P"2!"/"']));
|
|
36
43
|
return this.errors;
|
|
37
44
|
}
|
|
38
45
|
getErrorsForPath(path) {
|
|
39
|
-
return this.errors.filter(
|
|
46
|
+
return this.errors.filter(__assignType(v => v.path === path, ['v', '', 'P"2!"/"']));
|
|
40
47
|
}
|
|
41
48
|
getErrorMessageForPath(path) {
|
|
42
|
-
return this.getErrorsForPath(path).map(
|
|
49
|
+
return this.getErrorsForPath(path).map(__assignType(v => v.message, ['v', '', 'P"2!"/"'])).join(', ');
|
|
43
50
|
}
|
|
44
51
|
}
|
|
45
52
|
BodyValidationError.__type = [() => ValidationErrorItem, 'errors', () => [], 'constructor', 'prefix', 'hasErrors', () => ValidationErrorItem, 'getErrors', 'path', () => ValidationErrorItem, 'getErrorsForPath', 'getErrorMessageForPath', 'PP7!F2":>#"0$P&2%8)0&P&2%8P7\'F0(P&2)P7*F0+P&2)&0,5'];
|
|
@@ -67,11 +74,13 @@ export function getRegExp(type) {
|
|
|
67
74
|
const options = metaAnnotation.getForName(type, 'httpRegExp');
|
|
68
75
|
if (!options || !options[0])
|
|
69
76
|
return;
|
|
70
|
-
if (options[0].kind
|
|
71
|
-
return;
|
|
72
|
-
|
|
77
|
+
if (options[0].kind === ReflectionKind.literal && 'string' === typeof options[0].literal)
|
|
78
|
+
return options[0].literal;
|
|
79
|
+
if (options[0].kind === ReflectionKind.literal && options[0].literal instanceof RegExp)
|
|
80
|
+
return options[0].literal;
|
|
81
|
+
return;
|
|
73
82
|
}
|
|
74
|
-
getRegExp.__type = ['type', 'getRegExp', 'P"2!P
|
|
83
|
+
getRegExp.__type = ['type', 'getRegExp', 'P"2!P&A-J/"'];
|
|
75
84
|
export class RequestBuilder {
|
|
76
85
|
constructor(path, method = 'GET') {
|
|
77
86
|
this.path = path;
|
|
@@ -92,12 +101,12 @@ export class RequestBuilder {
|
|
|
92
101
|
const url = this.getUrl();
|
|
93
102
|
const bodyContent = this.contentBuffer;
|
|
94
103
|
const writable = new Writable({
|
|
95
|
-
write:
|
|
104
|
+
write: __assignType(function write(chunk, encoding, callback) {
|
|
96
105
|
-callback();
|
|
97
|
-
},
|
|
98
|
-
writev:
|
|
106
|
+
}, ['chunk', 'encoding', 'callback', 'write', 'P"2!"2""2#"/$']),
|
|
107
|
+
writev: __assignType(function writev(chunks, callback) {
|
|
99
108
|
callback();
|
|
100
|
-
},
|
|
109
|
+
}, ['chunks', 'callback', 'writev', 'P"2!"2""/#'])
|
|
101
110
|
});
|
|
102
111
|
const request = new (_a = class extends HttpRequest {
|
|
103
112
|
constructor() {
|
|
@@ -151,7 +160,7 @@ export class RequestBuilder {
|
|
|
151
160
|
return this;
|
|
152
161
|
}
|
|
153
162
|
}
|
|
154
|
-
RequestBuilder.__type = [
|
|
163
|
+
RequestBuilder.__type = ['contentBuffer', function () { return Buffer.alloc(0); }, '_headers', function () { return {}; }, 'queryPath', 'path', 'method', () => "GET", 'constructor', 'getUrl', () => HttpRequest, 'build', 'headers', 'name', 'value', 'header', 'body', 'json', 'query', '!3!<>"P&&LM3#<>$&3%8<P&2&<&2\'<>("0)P"0*PP7+0,PP&&LM2-!0-P&2.P&\'J2/!00P%21!02PP&!J21!01P"23!035'];
|
|
155
164
|
export class HttpRequest extends IncomingMessage {
|
|
156
165
|
constructor() {
|
|
157
166
|
super(...arguments);
|
|
@@ -200,6 +209,30 @@ export class MemoryHttpResponse extends HttpResponse {
|
|
|
200
209
|
constructor() {
|
|
201
210
|
super(...arguments);
|
|
202
211
|
this.body = Buffer.alloc(0);
|
|
212
|
+
this.headers = Object.create(null);
|
|
213
|
+
}
|
|
214
|
+
setHeader(name, value) {
|
|
215
|
+
this.headers[name] = value;
|
|
216
|
+
super.setHeader(name, value);
|
|
217
|
+
return this;
|
|
218
|
+
}
|
|
219
|
+
removeHeader(name) {
|
|
220
|
+
delete this.headers[name];
|
|
221
|
+
super.removeHeader(name);
|
|
222
|
+
}
|
|
223
|
+
getHeader(name) {
|
|
224
|
+
return this.headers[name];
|
|
225
|
+
}
|
|
226
|
+
getHeaders() {
|
|
227
|
+
return this.headers;
|
|
228
|
+
}
|
|
229
|
+
writeHead(statusCode, headersOrReasonPhrase, headers) {
|
|
230
|
+
headers = typeof headersOrReasonPhrase === 'string' ? headers : headersOrReasonPhrase;
|
|
231
|
+
if (headers && !isArray(headers))
|
|
232
|
+
this.headers = headers;
|
|
233
|
+
if (typeof headersOrReasonPhrase === 'string')
|
|
234
|
+
return super.writeHead(statusCode, headersOrReasonPhrase, headers);
|
|
235
|
+
return super.writeHead(statusCode, headers);
|
|
203
236
|
}
|
|
204
237
|
get json() {
|
|
205
238
|
const json = this.bodyString;
|
|
@@ -245,8 +278,7 @@ export class MemoryHttpResponse extends HttpResponse {
|
|
|
245
278
|
this.body = Buffer.concat([this.body, chunk]);
|
|
246
279
|
}
|
|
247
280
|
return super.end(chunk, encoding, callback);
|
|
248
|
-
// if (callback) callback();
|
|
249
281
|
}
|
|
250
282
|
}
|
|
251
|
-
MemoryHttpResponse.__type = [()
|
|
283
|
+
MemoryHttpResponse.__type = ['body', function () { return Buffer.alloc(0); }, 'headers', function () { return Object.create(null); }, 'name', () => __ΩReadonlyArray, 'value', 'setHeader', 'removeHeader', 'getHeader', 'getHeaders', 'statusCode', 'headersOrReasonPhrase', 'writeHead', 'chunk', 'encoding', 'callback', 'write', 'end', '!3!>"P&P\'&&F-JLM3#>$P&2%P\'&&o&"J2\'!0(P&2%"0)P&2%"0*P!0+P\'2,P&!!FJ2-8P!!FJ2#8!0.!!P"2/"20"218"02P"2/"208"218"035'];
|
|
252
284
|
//# sourceMappingURL=model.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../../src/model.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../../src/model.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/src/module.js
CHANGED
|
@@ -2,7 +2,7 @@ import { __ΩClassType as __ΩClassType } from '@deepkit/core';
|
|
|
2
2
|
import { HttpListener, HttpResultFormatter, httpWorkflow } from './http';
|
|
3
3
|
import { HttpConfig } from './module.config';
|
|
4
4
|
import { AppModule, createModule } from '@deepkit/app';
|
|
5
|
-
import {
|
|
5
|
+
import { HttpRouter, HttpRouterRegistry } from './router';
|
|
6
6
|
import { HttpKernel } from './kernel';
|
|
7
7
|
import { HttpRouterFilterResolver } from './filter';
|
|
8
8
|
import { HttpControllers } from './controllers';
|
|
@@ -13,9 +13,10 @@ import { httpClass } from './decorator';
|
|
|
13
13
|
export class HttpModule extends createModule({
|
|
14
14
|
config: HttpConfig,
|
|
15
15
|
providers: [
|
|
16
|
-
|
|
16
|
+
HttpRouter,
|
|
17
17
|
HttpKernel,
|
|
18
18
|
HttpResultFormatter,
|
|
19
|
+
HttpRouterRegistry,
|
|
19
20
|
HttpRouterFilterResolver,
|
|
20
21
|
{ provide: HttpResponse, scope: 'http' },
|
|
21
22
|
{ provide: HttpRequest, scope: 'http' },
|
|
@@ -28,7 +29,8 @@ export class HttpModule extends createModule({
|
|
|
28
29
|
httpWorkflow
|
|
29
30
|
],
|
|
30
31
|
exports: [
|
|
31
|
-
|
|
32
|
+
HttpRouter,
|
|
33
|
+
HttpRouterRegistry,
|
|
32
34
|
HttpKernel,
|
|
33
35
|
HttpResultFormatter,
|
|
34
36
|
HttpRouterFilterResolver,
|
|
@@ -54,5 +56,5 @@ export class HttpModule extends createModule({
|
|
|
54
56
|
this.httpControllers.add(controller, module);
|
|
55
57
|
}
|
|
56
58
|
}
|
|
57
|
-
HttpModule.__type = ['process', () => AppModule, 'module', () => __ΩClassType, 'controller', 'processController', 'P"0
|
|
59
|
+
HttpModule.__type = [() => createModule({ config: HttpConfig, providers: [HttpRouter, HttpKernel, HttpResultFormatter, HttpRouterRegistry, HttpRouterFilterResolver, { provide: HttpResponse, scope: "http" }, { provide: HttpRequest, scope: "http" }, { provide: Logger, useValue: new Logger([new ConsoleTransport()]) }], listeners: [HttpListener], workflows: [httpWorkflow], exports: [HttpRouter, HttpRouterRegistry, HttpKernel, HttpResultFormatter, HttpRouterFilterResolver, HttpResponse, HttpRequest, HttpControllers, Logger] }), 'process', () => AppModule, 'module', () => __ΩClassType, 'controller', 'processController', 'P7!P"0"PP"7#2$n%2&"0\'5'];
|
|
58
60
|
//# sourceMappingURL=module.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../../src/module.ts"],"names":[],"mappings":"6CAU0B,eAAe;AAVzC,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../../src/module.ts"],"names":[],"mappings":"6CAU0B,eAAe;AAVzC,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,eAAe,CAAC;AAEvB,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,OAAO,UAAW,SAAQ,YAAY,CAAC;IACzC,MAAM,EAAE,UAAU;IAClB,SAAS,EAAE;QACP,UAAU;QACV,UAAU;QACV,mBAAmB;QACnB,kBAAkB;QAClB,wBAAwB;QACxB,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE;QACxC,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE;QACvC,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,MAAM,CAAC,CAAC,IAAI,gBAAgB,EAAE,CAAC,CAAC,EAAE;KACtE;IACD,SAAS,EAAE;QACP,YAAY;KACf;IACD,SAAS,EAAE;QACP,YAAY;KACf;IACD,OAAO,EAAE;QACL,UAAU;QACV,kBAAkB;QAClB,UAAU;QACV,mBAAmB;QACnB,wBAAwB;QACxB,YAAY;QACZ,WAAW;QACX,eAAe;QACf,MAAM;KACT;CACJ,CAAC;IA7BF;;QA8Bc,oBAAe,GAAG,IAAI,eAAe,CAAC;KAanD;IAXG,OAAO;QACH,IAAI,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IACnF,CAAC;IAED,iBAAiB,CAAC,MAAsB,EAAE,UAAqB;QAC3D,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAChD,IAAI,CAAC,UAAU;YAAE,OAAO;QAExB,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC;YAAE,MAAM,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/F,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACjD,CAAC"}
|
package/dist/esm/src/router.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ClassType, CompilerContext } from '@deepkit/core';
|
|
2
|
-
import { ReflectionParameter, SerializationOptions, Serializer, Type } from '@deepkit/type';
|
|
2
|
+
import { ReflectionFunction, ReflectionParameter, SerializationOptions, Serializer, Type } from '@deepkit/type';
|
|
3
|
+
import { HttpDecorator } from './decorator';
|
|
3
4
|
import { HttpRequest, HttpRequestQuery, HttpRequestResolvedParameters } from './model';
|
|
4
5
|
import { InjectorContext, InjectorModule, TagRegistry } from '@deepkit/injector';
|
|
5
6
|
import { LoggerInterface } from '@deepkit/logger';
|
|
@@ -24,7 +25,7 @@ export declare class UploadedFile {
|
|
|
24
25
|
*/
|
|
25
26
|
size: number;
|
|
26
27
|
/**
|
|
27
|
-
* The path this file is being written to.
|
|
28
|
+
* The local path this file is being written to. Will be deleted when request is handled.
|
|
28
29
|
*/
|
|
29
30
|
path: string;
|
|
30
31
|
/**
|
|
@@ -41,7 +42,13 @@ export declare class UploadedFile {
|
|
|
41
42
|
*/
|
|
42
43
|
lastModifiedDate: Date | null;
|
|
43
44
|
}
|
|
44
|
-
export interface
|
|
45
|
+
export interface RouteFunctionControllerAction {
|
|
46
|
+
type: 'function';
|
|
47
|
+
module?: InjectorModule<any>;
|
|
48
|
+
fn: (...args: any[]) => any;
|
|
49
|
+
}
|
|
50
|
+
export interface RouteClassControllerAction {
|
|
51
|
+
type: 'controller';
|
|
45
52
|
module?: InjectorModule<any>;
|
|
46
53
|
controller: ClassType;
|
|
47
54
|
methodName: string;
|
|
@@ -50,7 +57,7 @@ export declare class RouteConfig {
|
|
|
50
57
|
readonly name: string;
|
|
51
58
|
readonly httpMethods: string[];
|
|
52
59
|
readonly path: string;
|
|
53
|
-
readonly action:
|
|
60
|
+
readonly action: RouteClassControllerAction | RouteFunctionControllerAction;
|
|
54
61
|
internal: boolean;
|
|
55
62
|
baseUrl: string;
|
|
56
63
|
responses: {
|
|
@@ -71,14 +78,15 @@ export declare class RouteConfig {
|
|
|
71
78
|
resolverForToken: Map<any, ClassType>;
|
|
72
79
|
middlewares: {
|
|
73
80
|
config: HttpMiddlewareConfig;
|
|
74
|
-
module
|
|
81
|
+
module?: InjectorModule<any>;
|
|
75
82
|
}[];
|
|
76
83
|
resolverForParameterName: Map<string, ClassType>;
|
|
77
84
|
/**
|
|
78
85
|
* An arbitrary data container the user can use to store app specific settings/values.
|
|
79
86
|
*/
|
|
80
87
|
data: Map<any, any>;
|
|
81
|
-
constructor(name: string, httpMethods: string[], path: string, action:
|
|
88
|
+
constructor(name: string, httpMethods: string[], path: string, action: RouteClassControllerAction | RouteFunctionControllerAction, internal?: boolean);
|
|
89
|
+
getReflectionFunction(): ReflectionFunction;
|
|
82
90
|
getSchemaForResponse(statusCode: number): Type | undefined;
|
|
83
91
|
getFullPath(): string;
|
|
84
92
|
}
|
|
@@ -128,21 +136,84 @@ export interface RouteParameterResolverContext {
|
|
|
128
136
|
query: HttpRequestQuery;
|
|
129
137
|
parameters: HttpRequestResolvedParameters;
|
|
130
138
|
}
|
|
131
|
-
export
|
|
139
|
+
export interface HttpRouterFunctionOptions {
|
|
140
|
+
path: string;
|
|
141
|
+
name?: string;
|
|
142
|
+
methods?: string[];
|
|
143
|
+
description?: string;
|
|
144
|
+
category?: string;
|
|
145
|
+
groups?: string[];
|
|
146
|
+
/**
|
|
147
|
+
* An arbitrary data container the user can use to store app specific settings/values.
|
|
148
|
+
*/
|
|
149
|
+
data?: Record<any, any>;
|
|
150
|
+
baseUrl?: string;
|
|
151
|
+
middlewares?: (() => HttpMiddlewareConfig)[];
|
|
152
|
+
serializer?: Serializer;
|
|
153
|
+
serializationOptions?: SerializationOptions;
|
|
154
|
+
resolverForToken?: Map<any, ClassType>;
|
|
155
|
+
resolverForParameterName?: Map<string, ClassType>;
|
|
156
|
+
responses?: {
|
|
157
|
+
statusCode: number;
|
|
158
|
+
description: string;
|
|
159
|
+
type?: Type;
|
|
160
|
+
}[];
|
|
161
|
+
}
|
|
162
|
+
export declare abstract class HttpRouterRegistryFunctionRegistrar {
|
|
163
|
+
protected defaultOptions: Partial<HttpRouterFunctionOptions>;
|
|
164
|
+
abstract addRoute(routeConfig: RouteConfig): void;
|
|
165
|
+
/**
|
|
166
|
+
* Returns a new registrar object with default options that apply to each registered route through this registrar.
|
|
167
|
+
*
|
|
168
|
+
* ```typescript
|
|
169
|
+
* const registry: HttpRouterRegistry = ...;
|
|
170
|
+
*
|
|
171
|
+
* const secretRegistry = registry.forOptions({groups: ['secret']});
|
|
172
|
+
*
|
|
173
|
+
* secretRegistry.get('/admin/groups', () => {
|
|
174
|
+
* });
|
|
175
|
+
*
|
|
176
|
+
* secretRegistry.get('/admin/users', () => {
|
|
177
|
+
* });
|
|
178
|
+
* ```
|
|
179
|
+
*/
|
|
180
|
+
forOptions(options: Partial<HttpRouterFunctionOptions>): HttpRouterRegistryFunctionRegistrar;
|
|
181
|
+
any(pathOrOptions: string | HttpRouterFunctionOptions, callback: (...args: any[]) => any): void;
|
|
182
|
+
add(decorator: HttpDecorator, callback: (...args: any[]) => any): void;
|
|
183
|
+
get(pathOrOptions: string | HttpRouterFunctionOptions, callback: (...args: any[]) => any): void;
|
|
184
|
+
post(pathOrOptions: string | HttpRouterFunctionOptions, callback: (...args: any[]) => any): void;
|
|
185
|
+
put(pathOrOptions: string | HttpRouterFunctionOptions, callback: (...args: any[]) => any): void;
|
|
186
|
+
patch(pathOrOptions: string | HttpRouterFunctionOptions, callback: (...args: any[]) => any): void;
|
|
187
|
+
delete(pathOrOptions: string | HttpRouterFunctionOptions, callback: (...args: any[]) => any): void;
|
|
188
|
+
options(pathOrOptions: string | HttpRouterFunctionOptions, callback: (...args: any[]) => any): void;
|
|
189
|
+
trace(pathOrOptions: string | HttpRouterFunctionOptions, callback: (...args: any[]) => any): void;
|
|
190
|
+
head(pathOrOptions: string | HttpRouterFunctionOptions, callback: (...args: any[]) => any): void;
|
|
191
|
+
private register;
|
|
192
|
+
}
|
|
193
|
+
export declare class HttpRouterRegistry extends HttpRouterRegistryFunctionRegistrar {
|
|
194
|
+
protected routes: RouteConfig[];
|
|
195
|
+
private buildId;
|
|
196
|
+
getBuildId(): number;
|
|
197
|
+
getRoutes(): RouteConfig[];
|
|
198
|
+
addRouteForController(controller: ClassType, module: InjectorModule<any>): void;
|
|
199
|
+
addRoute(routeConfig: RouteConfig): void;
|
|
200
|
+
}
|
|
201
|
+
export declare class HttpRouter {
|
|
132
202
|
private logger;
|
|
133
203
|
private middlewareRegistry;
|
|
204
|
+
private registry;
|
|
134
205
|
protected fn?: (request: HttpRequest) => ResolvedController | undefined;
|
|
206
|
+
protected buildId: number;
|
|
135
207
|
protected resolveFn?: (name: string, parameters: {
|
|
136
208
|
[name: string]: any;
|
|
137
209
|
}) => string;
|
|
138
|
-
protected routes: RouteConfig[];
|
|
139
210
|
private parseBody;
|
|
140
|
-
constructor(controllers: HttpControllers, logger: LoggerInterface, tagRegistry: TagRegistry, middlewareRegistry?: MiddlewareRegistry);
|
|
211
|
+
constructor(controllers: HttpControllers, logger: LoggerInterface, tagRegistry: TagRegistry, middlewareRegistry?: MiddlewareRegistry, registry?: HttpRouterRegistry);
|
|
141
212
|
getRoutes(): RouteConfig[];
|
|
142
213
|
static forControllers(controllers: (ClassType | {
|
|
143
214
|
module: InjectorModule<any>;
|
|
144
215
|
controller: ClassType;
|
|
145
|
-
})[], tagRegistry?: TagRegistry, middlewareRegistry?: MiddlewareRegistry, module?: InjectorModule<any>):
|
|
216
|
+
})[], tagRegistry?: TagRegistry, middlewareRegistry?: MiddlewareRegistry, module?: InjectorModule<any>): HttpRouter;
|
|
146
217
|
protected getRouteCode(compiler: CompilerContext, routeConfig: RouteConfig): string;
|
|
147
218
|
protected getRouteUrlResolveCode(compiler: CompilerContext, routeConfig: RouteConfig): string;
|
|
148
219
|
addRoute(routeConfig: RouteConfig): void;
|
|
@@ -157,6 +228,8 @@ export declare class Router {
|
|
|
157
228
|
}
|
|
158
229
|
export {};
|
|
159
230
|
export declare type __ΩRouteParameterResolverForInjector = any[];
|
|
160
|
-
export declare type __Ω
|
|
231
|
+
export declare type __ΩRouteFunctionControllerAction = any[];
|
|
232
|
+
export declare type __ΩRouteClassControllerAction = any[];
|
|
161
233
|
export declare type __ΩRouteParameterResolver = any[];
|
|
162
234
|
export declare type __ΩRouteParameterResolverContext = any[];
|
|
235
|
+
export declare type __ΩHttpRouterFunctionOptions = any[];
|