@tsed/platform-http 8.0.0-beta.10
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/.barrelsby.json +5 -0
- package/lib/esm/common/builder/PlatformBuilder.js +308 -0
- package/lib/esm/common/builder/PlatformBuilder.js.map +1 -0
- package/lib/esm/common/config/interfaces/PlatformJsonMapperSettings.js +2 -0
- package/lib/esm/common/config/interfaces/PlatformJsonMapperSettings.js.map +1 -0
- package/lib/esm/common/config/interfaces/PlatformMulterSettings.js +2 -0
- package/lib/esm/common/config/interfaces/PlatformMulterSettings.js.map +1 -0
- package/lib/esm/common/config/interfaces/PlatformRouterSettings.js +2 -0
- package/lib/esm/common/config/interfaces/PlatformRouterSettings.js.map +1 -0
- package/lib/esm/common/config/interfaces/PlatformStaticsSettings.js +2 -0
- package/lib/esm/common/config/interfaces/PlatformStaticsSettings.js.map +1 -0
- package/lib/esm/common/config/services/PlatformConfiguration.js +119 -0
- package/lib/esm/common/config/services/PlatformConfiguration.js.map +1 -0
- package/lib/esm/common/constants/routerOptions.js +2 -0
- package/lib/esm/common/constants/routerOptions.js.map +1 -0
- package/lib/esm/common/decorators/PlatformProvider.js +7 -0
- package/lib/esm/common/decorators/PlatformProvider.js.map +1 -0
- package/lib/esm/common/decorators/multer/multerFileSize.js +32 -0
- package/lib/esm/common/decorators/multer/multerFileSize.js.map +1 -0
- package/lib/esm/common/decorators/multer/multerOptions.js +50 -0
- package/lib/esm/common/decorators/multer/multerOptions.js.map +1 -0
- package/lib/esm/common/decorators/multer/multipartFile.js +75 -0
- package/lib/esm/common/decorators/multer/multipartFile.js.map +1 -0
- package/lib/esm/common/decorators/params/error.js +16 -0
- package/lib/esm/common/decorators/params/error.js.map +1 -0
- package/lib/esm/common/decorators/params/next.js +17 -0
- package/lib/esm/common/decorators/params/next.js.map +1 -0
- package/lib/esm/common/decorators/params/request.js +34 -0
- package/lib/esm/common/decorators/params/request.js.map +1 -0
- package/lib/esm/common/decorators/params/response.js +28 -0
- package/lib/esm/common/decorators/params/response.js.map +1 -0
- package/lib/esm/common/domain/AnyToPromiseWithCtx.js +21 -0
- package/lib/esm/common/domain/AnyToPromiseWithCtx.js.map +1 -0
- package/lib/esm/common/domain/EndpointMetadata.js +2 -0
- package/lib/esm/common/domain/EndpointMetadata.js.map +1 -0
- package/lib/esm/common/domain/PlatformContext.js +69 -0
- package/lib/esm/common/domain/PlatformContext.js.map +1 -0
- package/lib/esm/common/domain/PlatformRouteDetails.js +2 -0
- package/lib/esm/common/domain/PlatformRouteDetails.js.map +1 -0
- package/lib/esm/common/exports.js +5 -0
- package/lib/esm/common/exports.js.map +1 -0
- package/lib/esm/common/index.js +61 -0
- package/lib/esm/common/index.js.map +1 -0
- package/lib/esm/common/interfaces/AfterInit.js +2 -0
- package/lib/esm/common/interfaces/AfterInit.js.map +1 -0
- package/lib/esm/common/interfaces/AfterListen.js +2 -0
- package/lib/esm/common/interfaces/AfterListen.js.map +1 -0
- package/lib/esm/common/interfaces/AfterRoutesInit.js +2 -0
- package/lib/esm/common/interfaces/AfterRoutesInit.js.map +1 -0
- package/lib/esm/common/interfaces/BeforeInit.js +2 -0
- package/lib/esm/common/interfaces/BeforeInit.js.map +1 -0
- package/lib/esm/common/interfaces/BeforeListen.js +2 -0
- package/lib/esm/common/interfaces/BeforeListen.js.map +1 -0
- package/lib/esm/common/interfaces/BeforeRoutesInit.js +2 -0
- package/lib/esm/common/interfaces/BeforeRoutesInit.js.map +1 -0
- package/lib/esm/common/interfaces/HandlerType.js +14 -0
- package/lib/esm/common/interfaces/HandlerType.js.map +1 -0
- package/lib/esm/common/interfaces/IncomingEvent.js +2 -0
- package/lib/esm/common/interfaces/IncomingEvent.js.map +1 -0
- package/lib/esm/common/interfaces/OnReady.js +2 -0
- package/lib/esm/common/interfaces/OnReady.js.map +1 -0
- package/lib/esm/common/interfaces/OnRequest.js +2 -0
- package/lib/esm/common/interfaces/OnRequest.js.map +1 -0
- package/lib/esm/common/interfaces/OnResponse.js +2 -0
- package/lib/esm/common/interfaces/OnResponse.js.map +1 -0
- package/lib/esm/common/interfaces/OnRoutesInit.js +2 -0
- package/lib/esm/common/interfaces/OnRoutesInit.js.map +1 -0
- package/lib/esm/common/interfaces/PlatformRouteOptions.js +2 -0
- package/lib/esm/common/interfaces/PlatformRouteOptions.js.map +1 -0
- package/lib/esm/common/interfaces/ResponseErrorObject.js +2 -0
- package/lib/esm/common/interfaces/ResponseErrorObject.js.map +1 -0
- package/lib/esm/common/interfaces/Route.js +2 -0
- package/lib/esm/common/interfaces/Route.js.map +1 -0
- package/lib/esm/common/middlewares/PlatformAcceptMimesMiddleware.js +36 -0
- package/lib/esm/common/middlewares/PlatformAcceptMimesMiddleware.js.map +1 -0
- package/lib/esm/common/middlewares/PlatformMulterMiddleware.js +66 -0
- package/lib/esm/common/middlewares/PlatformMulterMiddleware.js.map +1 -0
- package/lib/esm/common/services/Platform.js +73 -0
- package/lib/esm/common/services/Platform.js.map +1 -0
- package/lib/esm/common/services/PlatformAdapter.js +77 -0
- package/lib/esm/common/services/PlatformAdapter.js.map +1 -0
- package/lib/esm/common/services/PlatformApplication.js +41 -0
- package/lib/esm/common/services/PlatformApplication.js.map +1 -0
- package/lib/esm/common/services/PlatformHandler.js +130 -0
- package/lib/esm/common/services/PlatformHandler.js.map +1 -0
- package/lib/esm/common/services/PlatformMiddlewaresChain.js +57 -0
- package/lib/esm/common/services/PlatformMiddlewaresChain.js.map +1 -0
- package/lib/esm/common/services/PlatformRequest.js +141 -0
- package/lib/esm/common/services/PlatformRequest.js.map +1 -0
- package/lib/esm/common/services/PlatformResponse.js +306 -0
- package/lib/esm/common/services/PlatformResponse.js.map +1 -0
- package/lib/esm/common/utils/closeServer.js +4 -0
- package/lib/esm/common/utils/closeServer.js.map +1 -0
- package/lib/esm/common/utils/createContext.js +44 -0
- package/lib/esm/common/utils/createContext.js.map +1 -0
- package/lib/esm/common/utils/createHttpServer.js +13 -0
- package/lib/esm/common/utils/createHttpServer.js.map +1 -0
- package/lib/esm/common/utils/createHttpsServer.js +13 -0
- package/lib/esm/common/utils/createHttpsServer.js.map +1 -0
- package/lib/esm/common/utils/createInjector.js +41 -0
- package/lib/esm/common/utils/createInjector.js.map +1 -0
- package/lib/esm/common/utils/createServer.js +29 -0
- package/lib/esm/common/utils/createServer.js.map +1 -0
- package/lib/esm/common/utils/ensureContext.js +12 -0
- package/lib/esm/common/utils/ensureContext.js.map +1 -0
- package/lib/esm/common/utils/getConfiguration.js +32 -0
- package/lib/esm/common/utils/getConfiguration.js.map +1 -0
- package/lib/esm/common/utils/getStaticsOptions.js +17 -0
- package/lib/esm/common/utils/getStaticsOptions.js.map +1 -0
- package/lib/esm/common/utils/listenServer.js +10 -0
- package/lib/esm/common/utils/listenServer.js.map +1 -0
- package/lib/esm/common/utils/mapReturnedResponse.js +11 -0
- package/lib/esm/common/utils/mapReturnedResponse.js.map +1 -0
- package/lib/esm/common/utils/printRoutes.js +34 -0
- package/lib/esm/common/utils/printRoutes.js.map +1 -0
- package/lib/esm/common/utils/registerPlatformAdapter.js +7 -0
- package/lib/esm/common/utils/registerPlatformAdapter.js.map +1 -0
- package/lib/esm/common/utils/setResponseHeaders.js +25 -0
- package/lib/esm/common/utils/setResponseHeaders.js.map +1 -0
- package/lib/esm/index.js +3 -0
- package/lib/esm/index.js.map +1 -0
- package/lib/esm/testing/FakeAdapter.js +2 -0
- package/lib/esm/testing/FakeAdapter.js.map +1 -0
- package/lib/esm/testing/FakeResponse.js +55 -0
- package/lib/esm/testing/FakeResponse.js.map +1 -0
- package/lib/esm/testing/PlatformTest.js +131 -0
- package/lib/esm/testing/PlatformTest.js.map +1 -0
- package/lib/esm/testing/index.js +6 -0
- package/lib/esm/testing/index.js.map +1 -0
- package/lib/types/common/builder/PlatformBuilder.d.ts +100 -0
- package/lib/types/common/config/interfaces/PlatformJsonMapperSettings.d.ts +10 -0
- package/lib/types/common/config/interfaces/PlatformMulterSettings.d.ts +14 -0
- package/lib/types/common/config/interfaces/PlatformRouterSettings.d.ts +10 -0
- package/lib/types/common/config/interfaces/PlatformStaticsSettings.d.ts +17 -0
- package/lib/types/common/config/services/PlatformConfiguration.d.ts +78 -0
- package/lib/types/common/constants/routerOptions.d.ts +1 -0
- package/lib/types/common/decorators/PlatformProvider.d.ts +3 -0
- package/lib/types/common/decorators/multer/multerFileSize.d.ts +28 -0
- package/lib/types/common/decorators/multer/multerOptions.d.ts +43 -0
- package/lib/types/common/decorators/multer/multipartFile.d.ts +48 -0
- package/lib/types/common/decorators/params/error.d.ts +7 -0
- package/lib/types/common/decorators/params/next.d.ts +22 -0
- package/lib/types/common/decorators/params/request.d.ts +46 -0
- package/lib/types/common/decorators/params/response.d.ts +40 -0
- package/lib/types/common/domain/AnyToPromiseWithCtx.d.ts +10 -0
- package/lib/types/common/domain/EndpointMetadata.d.ts +1 -0
- package/lib/types/common/domain/PlatformContext.d.ts +80 -0
- package/lib/types/common/domain/PlatformRouteDetails.d.ts +7 -0
- package/lib/types/common/exports.d.ts +4 -0
- package/lib/types/common/index.d.ts +60 -0
- package/lib/types/common/interfaces/AfterInit.d.ts +3 -0
- package/lib/types/common/interfaces/AfterListen.d.ts +3 -0
- package/lib/types/common/interfaces/AfterRoutesInit.d.ts +3 -0
- package/lib/types/common/interfaces/BeforeInit.d.ts +3 -0
- package/lib/types/common/interfaces/BeforeListen.d.ts +3 -0
- package/lib/types/common/interfaces/BeforeRoutesInit.d.ts +3 -0
- package/lib/types/common/interfaces/HandlerType.d.ts +12 -0
- package/lib/types/common/interfaces/IncomingEvent.d.ts +6 -0
- package/lib/types/common/interfaces/OnReady.d.ts +3 -0
- package/lib/types/common/interfaces/OnRequest.d.ts +4 -0
- package/lib/types/common/interfaces/OnResponse.d.ts +4 -0
- package/lib/types/common/interfaces/OnRoutesInit.d.ts +3 -0
- package/lib/types/common/interfaces/PlatformRouteOptions.d.ts +15 -0
- package/lib/types/common/interfaces/ResponseErrorObject.d.ts +8 -0
- package/lib/types/common/interfaces/Route.d.ts +10 -0
- package/lib/types/common/middlewares/PlatformAcceptMimesMiddleware.d.ts +10 -0
- package/lib/types/common/middlewares/PlatformMulterMiddleware.d.ts +24 -0
- package/lib/types/common/services/Platform.d.ts +25 -0
- package/lib/types/common/services/PlatformAdapter.d.ts +89 -0
- package/lib/types/common/services/PlatformApplication.d.ts +29 -0
- package/lib/types/common/services/PlatformHandler.d.ts +39 -0
- package/lib/types/common/services/PlatformMiddlewaresChain.d.ts +17 -0
- package/lib/types/common/services/PlatformRequest.d.ts +111 -0
- package/lib/types/common/services/PlatformResponse.d.ts +175 -0
- package/lib/types/common/utils/closeServer.d.ts +7 -0
- package/lib/types/common/utils/createContext.d.ts +10 -0
- package/lib/types/common/utils/createHttpServer.d.ts +4 -0
- package/lib/types/common/utils/createHttpsServer.d.ts +4 -0
- package/lib/types/common/utils/createInjector.d.ts +8 -0
- package/lib/types/common/utils/createServer.d.ts +17 -0
- package/lib/types/common/utils/ensureContext.d.ts +2 -0
- package/lib/types/common/utils/getConfiguration.d.ts +2 -0
- package/lib/types/common/utils/getStaticsOptions.d.ts +5 -0
- package/lib/types/common/utils/listenServer.d.ts +8 -0
- package/lib/types/common/utils/mapReturnedResponse.d.ts +4 -0
- package/lib/types/common/utils/printRoutes.d.ts +2 -0
- package/lib/types/common/utils/registerPlatformAdapter.d.ts +3 -0
- package/lib/types/common/utils/setResponseHeaders.d.ts +5 -0
- package/lib/types/index.d.ts +2 -0
- package/lib/types/testing/FakeAdapter.d.ts +1 -0
- package/lib/types/testing/FakeResponse.d.ts +22 -0
- package/lib/types/testing/PlatformTest.d.ts +61 -0
- package/lib/types/testing/index.d.ts +5 -0
- package/package.json +111 -0
- package/readme.md +226 -0
- package/vitest.config.mts +21 -0
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
var PlatformMulterMiddleware_1;
|
|
2
|
+
import { __decorate, __metadata, __param } from "tslib";
|
|
3
|
+
import { Inject, Value } from "@tsed/di";
|
|
4
|
+
import { BadRequest } from "@tsed/exceptions";
|
|
5
|
+
import { Middleware } from "@tsed/platform-middlewares";
|
|
6
|
+
import { Context } from "@tsed/platform-params";
|
|
7
|
+
import { PlatformContext } from "../domain/PlatformContext.js";
|
|
8
|
+
import { PlatformApplication } from "../services/PlatformApplication.js";
|
|
9
|
+
export class MulterException extends BadRequest {
|
|
10
|
+
constructor(er) {
|
|
11
|
+
super(er.message);
|
|
12
|
+
this.origin = er;
|
|
13
|
+
this.name = er.code;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* @middleware
|
|
18
|
+
*/
|
|
19
|
+
let PlatformMulterMiddleware = PlatformMulterMiddleware_1 = class PlatformMulterMiddleware {
|
|
20
|
+
async use(ctx) {
|
|
21
|
+
try {
|
|
22
|
+
const { fields, options = {} } = ctx.endpoint.get(PlatformMulterMiddleware_1);
|
|
23
|
+
const settings = {
|
|
24
|
+
...this.settings,
|
|
25
|
+
...options
|
|
26
|
+
};
|
|
27
|
+
/* istanbul ignore next */
|
|
28
|
+
if (settings.storage) {
|
|
29
|
+
delete settings.dest;
|
|
30
|
+
}
|
|
31
|
+
const middleware = this.app.multer(settings).fields(this.getFields({ fields }));
|
|
32
|
+
return await middleware(ctx.getRequest(), ctx.getResponse());
|
|
33
|
+
}
|
|
34
|
+
catch (er) {
|
|
35
|
+
if (er.code) {
|
|
36
|
+
throw new MulterException(er);
|
|
37
|
+
}
|
|
38
|
+
throw er;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
getFields(conf) {
|
|
42
|
+
return conf.fields.map(({ name, maxCount }) => ({ name, maxCount }));
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
__decorate([
|
|
46
|
+
Value("multer", {}) // NOTE: don't use constant to getting multer configuration. See issue #1840
|
|
47
|
+
,
|
|
48
|
+
__metadata("design:type", Object)
|
|
49
|
+
], PlatformMulterMiddleware.prototype, "settings", void 0);
|
|
50
|
+
__decorate([
|
|
51
|
+
Inject(),
|
|
52
|
+
__metadata("design:type", PlatformApplication)
|
|
53
|
+
], PlatformMulterMiddleware.prototype, "app", void 0);
|
|
54
|
+
__decorate([
|
|
55
|
+
__param(0, Context()),
|
|
56
|
+
__metadata("design:type", Function),
|
|
57
|
+
__metadata("design:paramtypes", [PlatformContext]),
|
|
58
|
+
__metadata("design:returntype", Promise)
|
|
59
|
+
], PlatformMulterMiddleware.prototype, "use", null);
|
|
60
|
+
PlatformMulterMiddleware = PlatformMulterMiddleware_1 = __decorate([
|
|
61
|
+
Middleware({
|
|
62
|
+
priority: 10
|
|
63
|
+
})
|
|
64
|
+
], PlatformMulterMiddleware);
|
|
65
|
+
export { PlatformMulterMiddleware };
|
|
66
|
+
//# sourceMappingURL=PlatformMulterMiddleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlatformMulterMiddleware.js","sourceRoot":"","sources":["../../../../src/common/middlewares/PlatformMulterMiddleware.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAC,MAAM,EAAE,KAAK,EAAC,MAAM,UAAU,CAAC;AACvC,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAC,UAAU,EAAoB,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAC,OAAO,EAAC,MAAM,uBAAuB,CAAC;AAI9C,OAAO,EAAC,eAAe,EAAC,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAC,mBAAmB,EAAC,MAAM,oCAAoC,CAAC;AAMvE,MAAM,OAAO,eAAgB,SAAQ,UAAU;IAC7C,YAAY,EAAe;QACzB,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;QAClB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC;IACtB,CAAC;CACF;AAED;;GAEG;AAII,IAAM,wBAAwB,gCAA9B,MAAM,wBAAwB;IAO7B,AAAN,KAAK,CAAC,GAAG,CAAY,GAAoB;QACvC,IAAI,CAAC;YACH,MAAM,EAAC,MAAM,EAAE,OAAO,GAAG,EAAE,EAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,0BAAwB,CAAC,CAAC;YAC1E,MAAM,QAAQ,GAA2B;gBACvC,GAAG,IAAI,CAAC,QAAQ;gBAChB,GAAG,OAAO;aACX,CAAC;YAEF,0BAA0B;YAC1B,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACrB,OAAO,QAAQ,CAAC,IAAI,CAAC;YACvB,CAAC;YAED,MAAM,UAAU,GAAQ,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAC,MAAM,EAAC,CAAC,CAAC,CAAC;YAEnF,OAAO,MAAM,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;QAC/D,CAAC;QAAC,OAAO,EAAE,EAAE,CAAC;YACZ,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;gBACZ,MAAM,IAAI,eAAe,CAAC,EAAE,CAAC,CAAC;YAChC,CAAC;YAED,MAAM,EAAE,CAAC;QACX,CAAC;IACH,CAAC;IAES,SAAS,CAAC,IAAwB;QAC1C,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAC,IAAI,EAAE,QAAQ,EAAC,EAAE,EAAE,CAAC,CAAC,EAAC,IAAI,EAAE,QAAQ,EAAC,CAAC,CAAC,CAAC;IACnE,CAAC;CACF,CAAA;AAjCW;IADT,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,4EAA4E;;;0DACtD;AAGjC;IADT,MAAM,EAAE;8BACM,mBAAmB;qDAAC;AAE7B;IAAK,WAAA,OAAO,EAAE,CAAA;;qCAAM,eAAe;;mDAuBxC;AA9BU,wBAAwB;IAHpC,UAAU,CAAC;QACV,QAAQ,EAAE,EAAE;KACb,CAAC;GACW,wBAAwB,CAmCpC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
|
2
|
+
import { Injectable, InjectorService, ProviderScope } from "@tsed/di";
|
|
3
|
+
import { PlatformRouters } from "@tsed/platform-router";
|
|
4
|
+
import { PlatformApplication } from "./PlatformApplication.js";
|
|
5
|
+
import { PlatformHandler } from "./PlatformHandler.js";
|
|
6
|
+
/**
|
|
7
|
+
* `Platform` is used to provide all routes collected by annotation `@Controller`.
|
|
8
|
+
*
|
|
9
|
+
* @platform
|
|
10
|
+
*/
|
|
11
|
+
let Platform = class Platform {
|
|
12
|
+
#layers;
|
|
13
|
+
constructor(injector, platformApplication, platformRouters) {
|
|
14
|
+
this.injector = injector;
|
|
15
|
+
this.platformApplication = platformApplication;
|
|
16
|
+
this.platformRouters = platformRouters;
|
|
17
|
+
platformRouters.prebuild();
|
|
18
|
+
}
|
|
19
|
+
get app() {
|
|
20
|
+
return this.platformApplication;
|
|
21
|
+
}
|
|
22
|
+
addRoutes(routes) {
|
|
23
|
+
routes.forEach((routeSettings) => {
|
|
24
|
+
this.addRoute(routeSettings.route, routeSettings.token);
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
addRoute(route, token) {
|
|
28
|
+
const provider = this.injector.getProvider(token);
|
|
29
|
+
if (!provider || provider.hasParent()) {
|
|
30
|
+
return this;
|
|
31
|
+
}
|
|
32
|
+
const router = this.platformRouters.from(provider.token);
|
|
33
|
+
this.app.use(route, router);
|
|
34
|
+
return this;
|
|
35
|
+
}
|
|
36
|
+
getLayers() {
|
|
37
|
+
this.#layers = this.#layers || this.platformRouters.getLayers(this.app);
|
|
38
|
+
return this.#layers;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Get all controllers mounted on the application.
|
|
42
|
+
* @returns {RouteController[]}
|
|
43
|
+
*/
|
|
44
|
+
getMountedControllers() {
|
|
45
|
+
const controllers = this.getLayers().reduce((controllers, layer) => {
|
|
46
|
+
if (layer.isProvider()) {
|
|
47
|
+
const route = String(layer.getBasePath());
|
|
48
|
+
const key = `${layer.provider.toString()}:${route}`;
|
|
49
|
+
if (!controllers.has(key)) {
|
|
50
|
+
controllers.set(key, {
|
|
51
|
+
route,
|
|
52
|
+
routes: new Set(),
|
|
53
|
+
provider: layer.provider
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
controllers.get(key).routes.add(String(layer.path));
|
|
57
|
+
}
|
|
58
|
+
return controllers;
|
|
59
|
+
}, new Map());
|
|
60
|
+
return [...controllers.values()];
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
Platform = __decorate([
|
|
64
|
+
Injectable({
|
|
65
|
+
scope: ProviderScope.SINGLETON,
|
|
66
|
+
imports: [PlatformHandler]
|
|
67
|
+
}),
|
|
68
|
+
__metadata("design:paramtypes", [InjectorService,
|
|
69
|
+
PlatformApplication,
|
|
70
|
+
PlatformRouters])
|
|
71
|
+
], Platform);
|
|
72
|
+
export { Platform };
|
|
73
|
+
//# sourceMappingURL=Platform.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Platform.js","sourceRoot":"","sources":["../../../../src/common/services/Platform.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { InjectorService, registerProvider } from "@tsed/di";
|
|
2
|
+
import { createHttpServer } from "../utils/createHttpServer.js";
|
|
3
|
+
import { createHttpsServer } from "../utils/createHttpsServer.js";
|
|
4
|
+
export class PlatformAdapter {
|
|
5
|
+
constructor(injector) {
|
|
6
|
+
this.injector = injector;
|
|
7
|
+
}
|
|
8
|
+
get app() {
|
|
9
|
+
return this.injector.get("PlatformApplication");
|
|
10
|
+
}
|
|
11
|
+
getServers() {
|
|
12
|
+
return [createHttpServer(this.injector, this.app.callback()), createHttpsServer(this.injector, this.app.callback())].filter(Boolean);
|
|
13
|
+
}
|
|
14
|
+
onInit() {
|
|
15
|
+
return Promise.resolve();
|
|
16
|
+
}
|
|
17
|
+
beforeLoadRoutes() {
|
|
18
|
+
return Promise.resolve();
|
|
19
|
+
}
|
|
20
|
+
afterLoadRoutes() {
|
|
21
|
+
return Promise.resolve();
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
export class FakeAdapter extends PlatformAdapter {
|
|
25
|
+
constructor() {
|
|
26
|
+
super(...arguments);
|
|
27
|
+
this.providers = [];
|
|
28
|
+
}
|
|
29
|
+
static { this.NAME = "FAKE_ADAPTER"; }
|
|
30
|
+
static createFakeRawDriver() {
|
|
31
|
+
// istanbul ignore next
|
|
32
|
+
function FakeRawDriver() { }
|
|
33
|
+
// istanbul ignore next
|
|
34
|
+
function use() {
|
|
35
|
+
return this;
|
|
36
|
+
}
|
|
37
|
+
FakeRawDriver.use = use;
|
|
38
|
+
FakeRawDriver.all = use;
|
|
39
|
+
FakeRawDriver.get = use;
|
|
40
|
+
FakeRawDriver.patch = use;
|
|
41
|
+
FakeRawDriver.post = use;
|
|
42
|
+
FakeRawDriver.put = use;
|
|
43
|
+
FakeRawDriver.head = use;
|
|
44
|
+
FakeRawDriver.delete = use;
|
|
45
|
+
FakeRawDriver.options = use;
|
|
46
|
+
return FakeRawDriver;
|
|
47
|
+
}
|
|
48
|
+
createApp() {
|
|
49
|
+
const app = FakeAdapter.createFakeRawDriver();
|
|
50
|
+
return {
|
|
51
|
+
app,
|
|
52
|
+
callback() {
|
|
53
|
+
return app;
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
multipart(options) {
|
|
58
|
+
return {};
|
|
59
|
+
}
|
|
60
|
+
statics(endpoint, options) {
|
|
61
|
+
return {};
|
|
62
|
+
}
|
|
63
|
+
bodyParser(type) {
|
|
64
|
+
return () => { };
|
|
65
|
+
}
|
|
66
|
+
mapLayers(layers) { }
|
|
67
|
+
mapHandler(handler) {
|
|
68
|
+
return handler;
|
|
69
|
+
}
|
|
70
|
+
useContext() { }
|
|
71
|
+
}
|
|
72
|
+
registerProvider({
|
|
73
|
+
provide: PlatformAdapter,
|
|
74
|
+
deps: [InjectorService],
|
|
75
|
+
useClass: FakeAdapter
|
|
76
|
+
});
|
|
77
|
+
//# sourceMappingURL=PlatformAdapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlatformAdapter.js","sourceRoot":"","sources":["../../../../src/common/services/PlatformAdapter.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,eAAe,EAAgB,gBAAgB,EAAC,MAAM,UAAU,CAAC;AAOzE,OAAO,EAAC,gBAAgB,EAAC,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAC,iBAAiB,EAAC,MAAM,+BAA+B,CAAC;AAIhE,MAAM,OAAgB,eAAe;IAOnC,YAAsB,QAAyB;QAAzB,aAAQ,GAAR,QAAQ,CAAiB;IAAG,CAAC;IAEnD,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAA2B,qBAAqB,CAAE,CAAC;IAC7E,CAAC;IAED,UAAU;QACR,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,EAAE,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,CACzH,OAAO,CACC,CAAC;IACb,CAAC;IAED,MAAM;QACJ,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,gBAAgB;QACd,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,eAAe;QACb,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;CAyCF;AAMD,MAAM,OAAO,WAAY,SAAQ,eAAoB;IAArD;;QACE,cAAS,GAAmB,EAAE,CAAC;IAsDjC,CAAC;aArDiB,SAAI,GAAW,cAAc,AAAzB,CAA0B;IAE9C,MAAM,CAAC,mBAAmB;QACxB,uBAAuB;QACvB,SAAS,aAAa,KAAI,CAAC;QAE3B,uBAAuB;QACvB,SAAS,GAAG;YACV,OAAO,IAAI,CAAC;QACd,CAAC;QAED,aAAa,CAAC,GAAG,GAAG,GAAG,CAAC;QACxB,aAAa,CAAC,GAAG,GAAG,GAAG,CAAC;QACxB,aAAa,CAAC,GAAG,GAAG,GAAG,CAAC;QACxB,aAAa,CAAC,KAAK,GAAG,GAAG,CAAC;QAC1B,aAAa,CAAC,IAAI,GAAG,GAAG,CAAC;QACzB,aAAa,CAAC,GAAG,GAAG,GAAG,CAAC;QACxB,aAAa,CAAC,IAAI,GAAG,GAAG,CAAC;QACzB,aAAa,CAAC,MAAM,GAAG,GAAG,CAAC;QAC3B,aAAa,CAAC,OAAO,GAAG,GAAG,CAAC;QAE5B,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,SAAS;QACP,MAAM,GAAG,GAAG,WAAW,CAAC,mBAAmB,EAAE,CAAC;QAC9C,OAAO;YACL,GAAG;YACH,QAAQ;gBACN,OAAO,GAAG,CAAC;YACb,CAAC;SACF,CAAC;IACJ,CAAC;IAED,SAAS,CAAC,OAA+B;QACvC,OAAO,EAAS,CAAC;IACnB,CAAC;IAED,OAAO,CAAC,QAAgB,EAAE,OAA+B;QACvD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,UAAU,CAAC,IAAY;QACrB,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;IAClB,CAAC;IAED,SAAS,CAAC,MAAuB,IAAG,CAAC;IAErC,UAAU,CAAC,OAAgD;QACzD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,UAAU,KAAI,CAAC;;AAGjB,gBAAgB,CAAC;IACf,OAAO,EAAE,eAAe;IACxB,IAAI,EAAE,CAAC,eAAe,CAAC;IACvB,QAAQ,EAAE,WAAW;CACtB,CAAC,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
|
2
|
+
import { Injectable, InjectorService, ProviderScope } from "@tsed/di";
|
|
3
|
+
import { PlatformRouter } from "@tsed/platform-router";
|
|
4
|
+
import { PlatformAdapter } from "./PlatformAdapter.js";
|
|
5
|
+
/**
|
|
6
|
+
* `PlatformApplication` is used to provide all routes collected by annotation `@Controller`.
|
|
7
|
+
*
|
|
8
|
+
* @platform
|
|
9
|
+
*/
|
|
10
|
+
let PlatformApplication = class PlatformApplication extends PlatformRouter {
|
|
11
|
+
constructor(adapter, injector) {
|
|
12
|
+
super(injector);
|
|
13
|
+
this.adapter = adapter;
|
|
14
|
+
this.injector = injector;
|
|
15
|
+
const { app, callback } = adapter.createApp();
|
|
16
|
+
this.rawApp = app;
|
|
17
|
+
this.rawCallback = callback;
|
|
18
|
+
}
|
|
19
|
+
getApp() {
|
|
20
|
+
return this.rawApp;
|
|
21
|
+
}
|
|
22
|
+
multer(options) {
|
|
23
|
+
return this.adapter.multipart(options);
|
|
24
|
+
}
|
|
25
|
+
callback(req, res) {
|
|
26
|
+
if (req && res) {
|
|
27
|
+
return this.callback()(req, res);
|
|
28
|
+
}
|
|
29
|
+
return this.rawCallback();
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
PlatformApplication = __decorate([
|
|
33
|
+
Injectable({
|
|
34
|
+
scope: ProviderScope.SINGLETON,
|
|
35
|
+
alias: "PlatformApplication"
|
|
36
|
+
}),
|
|
37
|
+
__metadata("design:paramtypes", [PlatformAdapter,
|
|
38
|
+
InjectorService])
|
|
39
|
+
], PlatformApplication);
|
|
40
|
+
export { PlatformApplication };
|
|
41
|
+
//# sourceMappingURL=PlatformApplication.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlatformApplication.js","sourceRoot":"","sources":["../../../../src/common/services/PlatformApplication.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,UAAU,EAAE,eAAe,EAAE,aAAa,EAAC,MAAM,UAAU,CAAC;AACpE,OAAO,EAAC,cAAc,EAAC,MAAM,uBAAuB,CAAC;AAIrD,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AASrD;;;;GAIG;AAKI,IAAM,mBAAmB,GAAzB,MAAM,mBAA4C,SAAQ,cAAc;IAI7E,YACS,OAA6B,EAC7B,QAAyB;QAEhC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAHT,YAAO,GAAP,OAAO,CAAsB;QAC7B,aAAQ,GAAR,QAAQ,CAAiB;QAGhC,MAAM,EAAC,GAAG,EAAE,QAAQ,EAAC,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;QAE5C,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;QAClB,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC;IAC9B,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,OAA+B;QACpC,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAID,QAAQ,CAAC,GAAqB,EAAE,GAAoB;QAClD,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACnC,CAAC;QAED,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;IAC5B,CAAC;CACF,CAAA;AAhCY,mBAAmB;IAJ/B,UAAU,CAAC;QACV,KAAK,EAAE,aAAa,CAAC,SAAS;QAC9B,KAAK,EAAE,qBAAqB;KAC7B,CAAC;qCAMkB,eAAe;QACd,eAAe;GANvB,mBAAmB,CAgC/B"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
|
2
|
+
import { AnyToPromiseStatus, catchAsyncError } from "@tsed/core";
|
|
3
|
+
import { Inject, Injectable, ProviderScope } from "@tsed/di";
|
|
4
|
+
import { PlatformExceptions } from "@tsed/platform-exceptions";
|
|
5
|
+
import { PlatformParams } from "@tsed/platform-params";
|
|
6
|
+
import { PlatformResponseFilter } from "@tsed/platform-response-filter";
|
|
7
|
+
import { PlatformHandlerMetadata, PlatformHandlerType, PlatformRouters, useResponseHandler } from "@tsed/platform-router";
|
|
8
|
+
import { AnyToPromiseWithCtx } from "../domain/AnyToPromiseWithCtx.js";
|
|
9
|
+
import { setResponseHeaders } from "../utils/setResponseHeaders.js";
|
|
10
|
+
import { PlatformApplication } from "./PlatformApplication.js";
|
|
11
|
+
import { PlatformMiddlewaresChain } from "./PlatformMiddlewaresChain.js";
|
|
12
|
+
/**
|
|
13
|
+
* Platform Handler abstraction layer. Wrap original class method to a pure platform handler (Express, Koa, etc...).
|
|
14
|
+
* @platform
|
|
15
|
+
*/
|
|
16
|
+
let PlatformHandler = class PlatformHandler {
|
|
17
|
+
constructor(platformRouters) {
|
|
18
|
+
this.platformRouters = platformRouters;
|
|
19
|
+
// configure the router module
|
|
20
|
+
platformRouters.hooks
|
|
21
|
+
.on("alterEndpointHandlers", (handlers, operationRoute) => {
|
|
22
|
+
handlers = this.platformMiddlewaresChain.get(handlers, operationRoute);
|
|
23
|
+
handlers.after.push(useResponseHandler(this.flush.bind(this)));
|
|
24
|
+
return handlers;
|
|
25
|
+
})
|
|
26
|
+
.on("alterHandler", (handlerMetadata) => {
|
|
27
|
+
const handler = handlerMetadata.isInjectable() ? this.createHandler(handlerMetadata) : handlerMetadata.handler;
|
|
28
|
+
return this.platformApplication.adapter.mapHandler(handler, handlerMetadata);
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
createHandler(handlerMetadata) {
|
|
32
|
+
const handler = this.platformParams.compileHandler(handlerMetadata);
|
|
33
|
+
return ($ctx) => {
|
|
34
|
+
$ctx.handlerMetadata = handlerMetadata;
|
|
35
|
+
return this.onRequest(handler, $ctx);
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* @param provider
|
|
40
|
+
* @param propertyKey
|
|
41
|
+
*/
|
|
42
|
+
createCustomHandler(provider, propertyKey) {
|
|
43
|
+
const metadata = new PlatformHandlerMetadata({
|
|
44
|
+
provider,
|
|
45
|
+
type: PlatformHandlerType.CUSTOM,
|
|
46
|
+
propertyKey
|
|
47
|
+
});
|
|
48
|
+
return this.createHandler(metadata);
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Call handler when a request his handle
|
|
52
|
+
*/
|
|
53
|
+
async onRequest(handler, $ctx) {
|
|
54
|
+
const { handlerMetadata } = $ctx;
|
|
55
|
+
if (handlerMetadata.type === PlatformHandlerType.CTX_FN) {
|
|
56
|
+
return handler({ $ctx });
|
|
57
|
+
}
|
|
58
|
+
const resolver = new AnyToPromiseWithCtx($ctx);
|
|
59
|
+
const response = await resolver.call(handler);
|
|
60
|
+
// Note: restore previous handler metadata (for OIDC)
|
|
61
|
+
$ctx.handlerMetadata = handlerMetadata;
|
|
62
|
+
if (response.state === AnyToPromiseStatus.RESOLVED && !$ctx.isDone()) {
|
|
63
|
+
return this.onResponse(response, $ctx);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
onResponse({ status, data, headers }, $ctx) {
|
|
67
|
+
if (status) {
|
|
68
|
+
$ctx.response.status(status);
|
|
69
|
+
}
|
|
70
|
+
if (headers) {
|
|
71
|
+
$ctx.response.setHeaders(headers);
|
|
72
|
+
}
|
|
73
|
+
if (data !== undefined) {
|
|
74
|
+
$ctx.data = data;
|
|
75
|
+
}
|
|
76
|
+
$ctx.error = null;
|
|
77
|
+
// set headers each times that an endpoint is called
|
|
78
|
+
if ($ctx.handlerMetadata.isEndpoint()) {
|
|
79
|
+
setResponseHeaders($ctx);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Send the response to the consumer.
|
|
84
|
+
* @protected
|
|
85
|
+
* @param $ctx
|
|
86
|
+
*/
|
|
87
|
+
async flush($ctx) {
|
|
88
|
+
if (!$ctx.error) {
|
|
89
|
+
$ctx.error = await catchAsyncError(async () => {
|
|
90
|
+
const { response } = $ctx;
|
|
91
|
+
if (!$ctx.isDone()) {
|
|
92
|
+
let data = await this.responseFilter.serialize($ctx.data, $ctx);
|
|
93
|
+
data = await this.responseFilter.transform(data, $ctx);
|
|
94
|
+
response.body(data);
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
if ($ctx.error) {
|
|
99
|
+
this.platformExceptions.catch($ctx.error, $ctx);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
__decorate([
|
|
104
|
+
Inject(),
|
|
105
|
+
__metadata("design:type", PlatformResponseFilter)
|
|
106
|
+
], PlatformHandler.prototype, "responseFilter", void 0);
|
|
107
|
+
__decorate([
|
|
108
|
+
Inject(),
|
|
109
|
+
__metadata("design:type", PlatformParams)
|
|
110
|
+
], PlatformHandler.prototype, "platformParams", void 0);
|
|
111
|
+
__decorate([
|
|
112
|
+
Inject(),
|
|
113
|
+
__metadata("design:type", PlatformExceptions)
|
|
114
|
+
], PlatformHandler.prototype, "platformExceptions", void 0);
|
|
115
|
+
__decorate([
|
|
116
|
+
Inject(),
|
|
117
|
+
__metadata("design:type", PlatformApplication)
|
|
118
|
+
], PlatformHandler.prototype, "platformApplication", void 0);
|
|
119
|
+
__decorate([
|
|
120
|
+
Inject(),
|
|
121
|
+
__metadata("design:type", PlatformMiddlewaresChain)
|
|
122
|
+
], PlatformHandler.prototype, "platformMiddlewaresChain", void 0);
|
|
123
|
+
PlatformHandler = __decorate([
|
|
124
|
+
Injectable({
|
|
125
|
+
scope: ProviderScope.SINGLETON
|
|
126
|
+
}),
|
|
127
|
+
__metadata("design:paramtypes", [PlatformRouters])
|
|
128
|
+
], PlatformHandler);
|
|
129
|
+
export { PlatformHandler };
|
|
130
|
+
//# sourceMappingURL=PlatformHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlatformHandler.js","sourceRoot":"","sources":["../../../../src/common/services/PlatformHandler.ts"],"names":[],"mappings":";AAAA,OAAO,EAAmB,kBAAkB,EAAE,eAAe,EAAC,MAAM,YAAY,CAAC;AACjF,OAAO,EAAC,MAAM,EAAE,UAAU,EAAY,aAAa,EAAC,MAAM,UAAU,CAAC;AACrE,OAAO,EAAC,kBAAkB,EAAC,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAC,cAAc,EAAyB,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAC,sBAAsB,EAAC,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAEL,uBAAuB,EACvB,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EACnB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAC,mBAAmB,EAAC,MAAM,kCAAkC,CAAC;AAErE,OAAO,EAAC,kBAAkB,EAAC,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAC,mBAAmB,EAAC,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAC,wBAAwB,EAAC,MAAM,+BAA+B,CAAC;AAEvE;;;GAGG;AAII,IAAM,eAAe,GAArB,MAAM,eAAe;IAgB1B,YAAsB,eAAgC;QAAhC,oBAAe,GAAf,eAAe,CAAiB;QACpD,8BAA8B;QAC9B,eAAe,CAAC,KAAK;aAClB,EAAE,CAAC,uBAAuB,EAAE,CAAC,QAAkC,EAAE,cAAkC,EAAE,EAAE;YACtG,QAAQ,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;YAEvE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAE/D,OAAO,QAAQ,CAAC;QAClB,CAAC,CAAC;aACD,EAAE,CAAC,cAAc,EAAE,CAAC,eAAwC,EAAE,EAAE;YAC/D,MAAM,OAAO,GAAG,eAAe,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC;YAE/G,OAAO,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAC/E,CAAC,CAAC,CAAC;IACP,CAAC;IAED,aAAa,CAAC,eAAwC;QACpD,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;QAEpE,OAAO,CAAC,IAAqB,EAAE,EAAE;YAC/B,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;YAEvC,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACvC,CAAC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,mBAAmB,CAAC,QAAkB,EAAE,WAAmB;QACzD,MAAM,QAAQ,GAAG,IAAI,uBAAuB,CAAC;YAC3C,QAAQ;YACR,IAAI,EAAE,mBAAmB,CAAC,MAAM;YAChC,WAAW;SACZ,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,OAA+B,EAAE,IAAqB;QACpE,MAAM,EAAC,eAAe,EAAC,GAAG,IAAI,CAAC;QAE/B,IAAI,eAAe,CAAC,IAAI,KAAK,mBAAmB,CAAC,MAAM,EAAE,CAAC;YACxD,OAAO,OAAO,CAAC,EAAC,IAAI,EAAC,CAAC,CAAC;QACzB,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAE/C,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9C,qDAAqD;QACrD,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QAEvC,IAAI,QAAQ,CAAC,KAAK,KAAK,kBAAkB,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YACrE,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED,UAAU,CAAC,EAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAmB,EAAE,IAAqB;QACzE,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACpC,CAAC;QAED,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACnB,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAElB,oDAAoD;QACpD,IAAI,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,EAAE,CAAC;YACtC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,KAAK,CAAC,IAAqB;QAC/B,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,KAAK,GAAG,MAAM,eAAe,CAAC,KAAK,IAAI,EAAE;gBAC5C,MAAM,EAAC,QAAQ,EAAC,GAAG,IAAI,CAAC;gBAExB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;oBACnB,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAW,CAAC,CAAC;oBACvE,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,EAAE,IAAW,CAAC,CAAC;oBAC9D,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtB,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;CACF,CAAA;AAvHW;IADT,MAAM,EAAE;8BACiB,sBAAsB;uDAAC;AAGvC;IADT,MAAM,EAAE;8BACiB,cAAc;uDAAC;AAG/B;IADT,MAAM,EAAE;8BACqB,kBAAkB;2DAAC;AAGvC;IADT,MAAM,EAAE;8BACsB,mBAAmB;4DAAC;AAGzC;IADT,MAAM,EAAE;8BAC2B,wBAAwB;iEAAC;AAdlD,eAAe;IAH3B,UAAU,CAAC;QACV,KAAK,EAAE,aAAa,CAAC,SAAS;KAC/B,CAAC;qCAiBuC,eAAe;GAhB3C,eAAe,CAyH3B"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
|
2
|
+
import { isClass } from "@tsed/core";
|
|
3
|
+
import { Constant, Inject, Injectable, InjectorService } from "@tsed/di";
|
|
4
|
+
import { ParamTypes } from "@tsed/platform-params";
|
|
5
|
+
import { JsonEntityStore } from "@tsed/schema";
|
|
6
|
+
import { PlatformAcceptMimesMiddleware } from "../middlewares/PlatformAcceptMimesMiddleware.js";
|
|
7
|
+
import { PlatformMulterMiddleware } from "../middlewares/PlatformMulterMiddleware.js";
|
|
8
|
+
import { PlatformAdapter } from "./PlatformAdapter.js";
|
|
9
|
+
let PlatformMiddlewaresChain = class PlatformMiddlewaresChain {
|
|
10
|
+
get(handlers, operationRoute) {
|
|
11
|
+
const { ACCEPT_MIMES, FILE } = this.getParamTypes(handlers, operationRoute);
|
|
12
|
+
return {
|
|
13
|
+
...handlers,
|
|
14
|
+
before: [ACCEPT_MIMES && PlatformAcceptMimesMiddleware, ...handlers.before, FILE && PlatformMulterMiddleware].filter(Boolean)
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
hasAcceptMimes(operationRoute) {
|
|
18
|
+
return operationRoute.endpoint.acceptMimes.length || this.acceptMimes.length;
|
|
19
|
+
}
|
|
20
|
+
getParamTypes(middlewares, operationRoute) {
|
|
21
|
+
return middlewares.before
|
|
22
|
+
.concat(middlewares.after)
|
|
23
|
+
.filter(isClass)
|
|
24
|
+
.reduce((paramTypes, token) => {
|
|
25
|
+
const entity = JsonEntityStore.fromMethod(token, "use");
|
|
26
|
+
if (entity.decoratorType === "method") {
|
|
27
|
+
const { FILE, RAW_BODY, BODY } = entity.getParamTypes();
|
|
28
|
+
paramTypes.FILE = paramTypes.FILE || FILE;
|
|
29
|
+
paramTypes.RAW_BODY = paramTypes.RAW_BODY || RAW_BODY;
|
|
30
|
+
paramTypes.BODY = paramTypes.BODY || BODY;
|
|
31
|
+
}
|
|
32
|
+
return paramTypes;
|
|
33
|
+
}, {
|
|
34
|
+
ACCEPT_MIMES: this.hasAcceptMimes(operationRoute),
|
|
35
|
+
FILE: operationRoute.has(ParamTypes.FILES),
|
|
36
|
+
RAW_BODY: operationRoute.has(ParamTypes.RAW_BODY),
|
|
37
|
+
BODY: operationRoute.has(ParamTypes.BODY) || operationRoute.method === "ALL"
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
__decorate([
|
|
42
|
+
Constant("acceptMimes", []),
|
|
43
|
+
__metadata("design:type", Array)
|
|
44
|
+
], PlatformMiddlewaresChain.prototype, "acceptMimes", void 0);
|
|
45
|
+
__decorate([
|
|
46
|
+
Inject(PlatformAdapter),
|
|
47
|
+
__metadata("design:type", PlatformAdapter)
|
|
48
|
+
], PlatformMiddlewaresChain.prototype, "adapter", void 0);
|
|
49
|
+
__decorate([
|
|
50
|
+
Inject(InjectorService),
|
|
51
|
+
__metadata("design:type", InjectorService)
|
|
52
|
+
], PlatformMiddlewaresChain.prototype, "injector", void 0);
|
|
53
|
+
PlatformMiddlewaresChain = __decorate([
|
|
54
|
+
Injectable()
|
|
55
|
+
], PlatformMiddlewaresChain);
|
|
56
|
+
export { PlatformMiddlewaresChain };
|
|
57
|
+
//# sourceMappingURL=PlatformMiddlewaresChain.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlatformMiddlewaresChain.js","sourceRoot":"","sources":["../../../../src/common/services/PlatformMiddlewaresChain.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,YAAY,CAAC;AACnC,OAAO,EAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,EAAgB,MAAM,UAAU,CAAC;AACtF,OAAO,EAAC,UAAU,EAAC,MAAM,uBAAuB,CAAC;AAEjD,OAAO,EAAC,eAAe,EAAqB,MAAM,cAAc,CAAC;AAEjE,OAAO,EAAC,6BAA6B,EAAC,MAAM,iDAAiD,CAAC;AAC9F,OAAO,EAAC,wBAAwB,EAAC,MAAM,4CAA4C,CAAC;AACpF,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AAG9C,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IAUnC,GAAG,CAAC,QAAkC,EAAE,cAAkC;QACxE,MAAM,EAAC,YAAY,EAAE,IAAI,EAAC,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QAE1E,OAAO;YACL,GAAG,QAAQ;YACX,MAAM,EAAE,CAAC,YAAY,IAAI,6BAA6B,EAAE,GAAG,QAAQ,CAAC,MAAM,EAAE,IAAI,IAAI,wBAAwB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAU;SACvI,CAAC;IACJ,CAAC;IAES,cAAc,CAAC,cAAkC;QACzD,OAAO,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;IAC/E,CAAC;IAES,aAAa,CAAC,WAAqC,EAAE,cAAkC;QAC/F,OAAO,WAAW,CAAC,MAAM;aACtB,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC;aACzB,MAAM,CAAC,OAAO,CAAC;aACf,MAAM,CACL,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE;YACpB,MAAM,MAAM,GAAG,eAAe,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAExD,IAAI,MAAM,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;gBACtC,MAAM,EAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAC,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;gBACtD,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,IAAI,IAAI,CAAC;gBAC1C,UAAU,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,IAAI,QAAQ,CAAC;gBACtD,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,IAAI,IAAI,CAAC;YAC5C,CAAC;YAED,OAAO,UAAU,CAAC;QACpB,CAAC,EACD;YACE,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC;YACjD,IAAI,EAAE,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC;YAC1C,QAAQ,EAAE,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC;YACjD,IAAI,EAAE,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,MAAM,KAAK,KAAK;SAC7E,CACF,CAAC;IACN,CAAC;CACF,CAAA;AA9CW;IADT,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAC;;6DACI;AAGtB;IADT,MAAM,CAAC,eAAe,CAAC;8BACL,eAAe;yDAAC;AAGzB;IADT,MAAM,CAAC,eAAe,CAAC;8BACJ,eAAe;0DAAC;AARzB,wBAAwB;IADpC,UAAU,EAAE;GACA,wBAAwB,CAgDpC"}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
|
2
|
+
import { Injectable, ProviderScope, Scope } from "@tsed/di";
|
|
3
|
+
/**
|
|
4
|
+
* Platform Request abstraction layer.
|
|
5
|
+
* @platform
|
|
6
|
+
*/
|
|
7
|
+
let PlatformRequest = class PlatformRequest {
|
|
8
|
+
constructor($ctx) {
|
|
9
|
+
this.$ctx = $ctx;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* The current @@PlatformResponse@@.
|
|
13
|
+
*/
|
|
14
|
+
get response() {
|
|
15
|
+
return this.$ctx.response;
|
|
16
|
+
}
|
|
17
|
+
get raw() {
|
|
18
|
+
return this.$ctx.event.request;
|
|
19
|
+
}
|
|
20
|
+
get secure() {
|
|
21
|
+
return this.raw.secure;
|
|
22
|
+
}
|
|
23
|
+
get host() {
|
|
24
|
+
return this.get("host");
|
|
25
|
+
}
|
|
26
|
+
get protocol() {
|
|
27
|
+
return this.raw.protocol;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Get the url of the request.
|
|
31
|
+
*
|
|
32
|
+
* Is equivalent of `express.response.originalUrl || express.response.url`.
|
|
33
|
+
*/
|
|
34
|
+
get url() {
|
|
35
|
+
return this.raw.originalUrl || this.raw.url;
|
|
36
|
+
}
|
|
37
|
+
get headers() {
|
|
38
|
+
return this.raw.headers;
|
|
39
|
+
}
|
|
40
|
+
get method() {
|
|
41
|
+
return this.raw.method;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Contains key-value pairs of data submitted in the request body. By default, it is `undefined`, and is populated when you use
|
|
45
|
+
* `body-parsing` middleware such as `express.json()` or `express.urlencoded()`.
|
|
46
|
+
*/
|
|
47
|
+
get body() {
|
|
48
|
+
return this.raw.body;
|
|
49
|
+
}
|
|
50
|
+
get rawBody() {
|
|
51
|
+
return this.raw.rawBody || this.raw.body;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* When using `cookie-parser` middleware, this property is an object that contains cookies sent by the request.
|
|
55
|
+
* If the request contains no cookies, it defaults to `{}`.
|
|
56
|
+
*/
|
|
57
|
+
get cookies() {
|
|
58
|
+
return this.raw.cookies;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* This property is an object containing properties mapped to the named route `parameters`.
|
|
62
|
+
* For example, if you have the route `/user/:name`, then the `name` property is available as `req.params.name`.
|
|
63
|
+
* This object defaults to `{}`.
|
|
64
|
+
*/
|
|
65
|
+
get params() {
|
|
66
|
+
return this.raw.params;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* This property is an object containing a property for each query string parameter in the route.
|
|
70
|
+
* When query parser is set to disabled, it is an empty object `{}`, otherwise it is the result of the configured query parser.
|
|
71
|
+
*/
|
|
72
|
+
get query() {
|
|
73
|
+
return this.raw.query;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* This property is an object containing a property for each session attributes set by any code.
|
|
77
|
+
* It requires to install a middleware like express-session to work.
|
|
78
|
+
*/
|
|
79
|
+
get session() {
|
|
80
|
+
return this.raw.session;
|
|
81
|
+
}
|
|
82
|
+
get files() {
|
|
83
|
+
return this.raw.files;
|
|
84
|
+
}
|
|
85
|
+
get route() {
|
|
86
|
+
return this.$ctx.handlerMetadata?.path;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Return the original request framework instance
|
|
90
|
+
*/
|
|
91
|
+
get request() {
|
|
92
|
+
return this.getRequest();
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Return the original request node.js instance
|
|
96
|
+
*/
|
|
97
|
+
get req() {
|
|
98
|
+
return this.getReq();
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Returns the HTTP request header specified by field. The match is case-insensitive.
|
|
102
|
+
*
|
|
103
|
+
* ```typescript
|
|
104
|
+
* request.get('Content-Type') // => "text/plain"
|
|
105
|
+
* ```
|
|
106
|
+
*
|
|
107
|
+
* @param name
|
|
108
|
+
*/
|
|
109
|
+
get(name) {
|
|
110
|
+
return this.raw.get(name);
|
|
111
|
+
}
|
|
112
|
+
getHeader(name) {
|
|
113
|
+
return this.get(name);
|
|
114
|
+
}
|
|
115
|
+
accepts(mime) {
|
|
116
|
+
// @ts-ignore
|
|
117
|
+
return this.raw.accepts(mime);
|
|
118
|
+
}
|
|
119
|
+
isAborted() {
|
|
120
|
+
return this.raw.aborted;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Return the Framework response object (express, koa, etc...)
|
|
124
|
+
*/
|
|
125
|
+
getRequest() {
|
|
126
|
+
return this.raw;
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Return the Node.js response object
|
|
130
|
+
*/
|
|
131
|
+
getReq() {
|
|
132
|
+
return this.$ctx.event.request;
|
|
133
|
+
}
|
|
134
|
+
};
|
|
135
|
+
PlatformRequest = __decorate([
|
|
136
|
+
Injectable(),
|
|
137
|
+
Scope(ProviderScope.INSTANCE),
|
|
138
|
+
__metadata("design:paramtypes", [Function])
|
|
139
|
+
], PlatformRequest);
|
|
140
|
+
export { PlatformRequest };
|
|
141
|
+
//# sourceMappingURL=PlatformRequest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlatformRequest.js","sourceRoot":"","sources":["../../../../src/common/services/PlatformRequest.ts"],"names":[],"mappings":"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"}
|