@tsed/platform-http 8.0.0-beta.4

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.
Files changed (190) hide show
  1. package/.barrelsby.json +5 -0
  2. package/lib/esm/builder/PlatformBuilder.js +308 -0
  3. package/lib/esm/builder/PlatformBuilder.js.map +1 -0
  4. package/lib/esm/config/interfaces/PlatformJsonMapperSettings.js +2 -0
  5. package/lib/esm/config/interfaces/PlatformJsonMapperSettings.js.map +1 -0
  6. package/lib/esm/config/interfaces/PlatformMulterSettings.js +2 -0
  7. package/lib/esm/config/interfaces/PlatformMulterSettings.js.map +1 -0
  8. package/lib/esm/config/interfaces/PlatformRouterSettings.js +2 -0
  9. package/lib/esm/config/interfaces/PlatformRouterSettings.js.map +1 -0
  10. package/lib/esm/config/interfaces/PlatformStaticsSettings.js +2 -0
  11. package/lib/esm/config/interfaces/PlatformStaticsSettings.js.map +1 -0
  12. package/lib/esm/config/services/PlatformConfiguration.js +119 -0
  13. package/lib/esm/config/services/PlatformConfiguration.js.map +1 -0
  14. package/lib/esm/constants/routerOptions.js +2 -0
  15. package/lib/esm/constants/routerOptions.js.map +1 -0
  16. package/lib/esm/decorators/PlatformProvider.js +7 -0
  17. package/lib/esm/decorators/PlatformProvider.js.map +1 -0
  18. package/lib/esm/decorators/multer/multerFileSize.js +32 -0
  19. package/lib/esm/decorators/multer/multerFileSize.js.map +1 -0
  20. package/lib/esm/decorators/multer/multerOptions.js +50 -0
  21. package/lib/esm/decorators/multer/multerOptions.js.map +1 -0
  22. package/lib/esm/decorators/multer/multipartFile.js +75 -0
  23. package/lib/esm/decorators/multer/multipartFile.js.map +1 -0
  24. package/lib/esm/decorators/params/error.js +16 -0
  25. package/lib/esm/decorators/params/error.js.map +1 -0
  26. package/lib/esm/decorators/params/next.js +17 -0
  27. package/lib/esm/decorators/params/next.js.map +1 -0
  28. package/lib/esm/decorators/params/request.js +34 -0
  29. package/lib/esm/decorators/params/request.js.map +1 -0
  30. package/lib/esm/decorators/params/response.js +28 -0
  31. package/lib/esm/decorators/params/response.js.map +1 -0
  32. package/lib/esm/domain/AnyToPromiseWithCtx.js +21 -0
  33. package/lib/esm/domain/AnyToPromiseWithCtx.js.map +1 -0
  34. package/lib/esm/domain/EndpointMetadata.js +2 -0
  35. package/lib/esm/domain/EndpointMetadata.js.map +1 -0
  36. package/lib/esm/domain/PlatformContext.js +69 -0
  37. package/lib/esm/domain/PlatformContext.js.map +1 -0
  38. package/lib/esm/domain/PlatformRouteDetails.js +2 -0
  39. package/lib/esm/domain/PlatformRouteDetails.js.map +1 -0
  40. package/lib/esm/exports.js +5 -0
  41. package/lib/esm/exports.js.map +1 -0
  42. package/lib/esm/index.js +64 -0
  43. package/lib/esm/index.js.map +1 -0
  44. package/lib/esm/interfaces/AfterInit.js +2 -0
  45. package/lib/esm/interfaces/AfterInit.js.map +1 -0
  46. package/lib/esm/interfaces/AfterListen.js +2 -0
  47. package/lib/esm/interfaces/AfterListen.js.map +1 -0
  48. package/lib/esm/interfaces/AfterRoutesInit.js +2 -0
  49. package/lib/esm/interfaces/AfterRoutesInit.js.map +1 -0
  50. package/lib/esm/interfaces/BeforeInit.js +2 -0
  51. package/lib/esm/interfaces/BeforeInit.js.map +1 -0
  52. package/lib/esm/interfaces/BeforeListen.js +2 -0
  53. package/lib/esm/interfaces/BeforeListen.js.map +1 -0
  54. package/lib/esm/interfaces/BeforeRoutesInit.js +2 -0
  55. package/lib/esm/interfaces/BeforeRoutesInit.js.map +1 -0
  56. package/lib/esm/interfaces/HandlerType.js +14 -0
  57. package/lib/esm/interfaces/HandlerType.js.map +1 -0
  58. package/lib/esm/interfaces/IncomingEvent.js +2 -0
  59. package/lib/esm/interfaces/IncomingEvent.js.map +1 -0
  60. package/lib/esm/interfaces/OnReady.js +2 -0
  61. package/lib/esm/interfaces/OnReady.js.map +1 -0
  62. package/lib/esm/interfaces/OnRequest.js +2 -0
  63. package/lib/esm/interfaces/OnRequest.js.map +1 -0
  64. package/lib/esm/interfaces/OnResponse.js +2 -0
  65. package/lib/esm/interfaces/OnResponse.js.map +1 -0
  66. package/lib/esm/interfaces/OnRoutesInit.js +2 -0
  67. package/lib/esm/interfaces/OnRoutesInit.js.map +1 -0
  68. package/lib/esm/interfaces/PlatformRouteOptions.js +2 -0
  69. package/lib/esm/interfaces/PlatformRouteOptions.js.map +1 -0
  70. package/lib/esm/interfaces/ResponseErrorObject.js +2 -0
  71. package/lib/esm/interfaces/ResponseErrorObject.js.map +1 -0
  72. package/lib/esm/interfaces/Route.js +2 -0
  73. package/lib/esm/interfaces/Route.js.map +1 -0
  74. package/lib/esm/middlewares/PlatformAcceptMimesMiddleware.js +36 -0
  75. package/lib/esm/middlewares/PlatformAcceptMimesMiddleware.js.map +1 -0
  76. package/lib/esm/middlewares/PlatformMulterMiddleware.js +66 -0
  77. package/lib/esm/middlewares/PlatformMulterMiddleware.js.map +1 -0
  78. package/lib/esm/services/FakeAdapter.js +2 -0
  79. package/lib/esm/services/FakeAdapter.js.map +1 -0
  80. package/lib/esm/services/FakeResponse.js +55 -0
  81. package/lib/esm/services/FakeResponse.js.map +1 -0
  82. package/lib/esm/services/Platform.js +73 -0
  83. package/lib/esm/services/Platform.js.map +1 -0
  84. package/lib/esm/services/PlatformAdapter.js +77 -0
  85. package/lib/esm/services/PlatformAdapter.js.map +1 -0
  86. package/lib/esm/services/PlatformApplication.js +41 -0
  87. package/lib/esm/services/PlatformApplication.js.map +1 -0
  88. package/lib/esm/services/PlatformHandler.js +130 -0
  89. package/lib/esm/services/PlatformHandler.js.map +1 -0
  90. package/lib/esm/services/PlatformMiddlewaresChain.js +57 -0
  91. package/lib/esm/services/PlatformMiddlewaresChain.js.map +1 -0
  92. package/lib/esm/services/PlatformRequest.js +141 -0
  93. package/lib/esm/services/PlatformRequest.js.map +1 -0
  94. package/lib/esm/services/PlatformResponse.js +306 -0
  95. package/lib/esm/services/PlatformResponse.js.map +1 -0
  96. package/lib/esm/services/PlatformTest.js +131 -0
  97. package/lib/esm/services/PlatformTest.js.map +1 -0
  98. package/lib/esm/utils/closeServer.js +4 -0
  99. package/lib/esm/utils/closeServer.js.map +1 -0
  100. package/lib/esm/utils/createContext.js +44 -0
  101. package/lib/esm/utils/createContext.js.map +1 -0
  102. package/lib/esm/utils/createHttpServer.js +13 -0
  103. package/lib/esm/utils/createHttpServer.js.map +1 -0
  104. package/lib/esm/utils/createHttpsServer.js +13 -0
  105. package/lib/esm/utils/createHttpsServer.js.map +1 -0
  106. package/lib/esm/utils/createInjector.js +41 -0
  107. package/lib/esm/utils/createInjector.js.map +1 -0
  108. package/lib/esm/utils/createServer.js +29 -0
  109. package/lib/esm/utils/createServer.js.map +1 -0
  110. package/lib/esm/utils/ensureContext.js +12 -0
  111. package/lib/esm/utils/ensureContext.js.map +1 -0
  112. package/lib/esm/utils/getConfiguration.js +32 -0
  113. package/lib/esm/utils/getConfiguration.js.map +1 -0
  114. package/lib/esm/utils/getStaticsOptions.js +17 -0
  115. package/lib/esm/utils/getStaticsOptions.js.map +1 -0
  116. package/lib/esm/utils/listenServer.js +10 -0
  117. package/lib/esm/utils/listenServer.js.map +1 -0
  118. package/lib/esm/utils/mapReturnedResponse.js +11 -0
  119. package/lib/esm/utils/mapReturnedResponse.js.map +1 -0
  120. package/lib/esm/utils/printRoutes.js +34 -0
  121. package/lib/esm/utils/printRoutes.js.map +1 -0
  122. package/lib/esm/utils/registerPlatformAdapter.js +7 -0
  123. package/lib/esm/utils/registerPlatformAdapter.js.map +1 -0
  124. package/lib/esm/utils/setResponseHeaders.js +25 -0
  125. package/lib/esm/utils/setResponseHeaders.js.map +1 -0
  126. package/lib/types/builder/PlatformBuilder.d.ts +100 -0
  127. package/lib/types/config/interfaces/PlatformJsonMapperSettings.d.ts +10 -0
  128. package/lib/types/config/interfaces/PlatformMulterSettings.d.ts +14 -0
  129. package/lib/types/config/interfaces/PlatformRouterSettings.d.ts +10 -0
  130. package/lib/types/config/interfaces/PlatformStaticsSettings.d.ts +17 -0
  131. package/lib/types/config/services/PlatformConfiguration.d.ts +67 -0
  132. package/lib/types/constants/routerOptions.d.ts +1 -0
  133. package/lib/types/decorators/PlatformProvider.d.ts +3 -0
  134. package/lib/types/decorators/multer/multerFileSize.d.ts +28 -0
  135. package/lib/types/decorators/multer/multerOptions.d.ts +43 -0
  136. package/lib/types/decorators/multer/multipartFile.d.ts +48 -0
  137. package/lib/types/decorators/params/error.d.ts +7 -0
  138. package/lib/types/decorators/params/next.d.ts +22 -0
  139. package/lib/types/decorators/params/request.d.ts +46 -0
  140. package/lib/types/decorators/params/response.d.ts +40 -0
  141. package/lib/types/domain/AnyToPromiseWithCtx.d.ts +10 -0
  142. package/lib/types/domain/EndpointMetadata.d.ts +1 -0
  143. package/lib/types/domain/PlatformContext.d.ts +80 -0
  144. package/lib/types/domain/PlatformRouteDetails.d.ts +7 -0
  145. package/lib/types/exports.d.ts +4 -0
  146. package/lib/types/index.d.ts +63 -0
  147. package/lib/types/interfaces/AfterInit.d.ts +3 -0
  148. package/lib/types/interfaces/AfterListen.d.ts +3 -0
  149. package/lib/types/interfaces/AfterRoutesInit.d.ts +3 -0
  150. package/lib/types/interfaces/BeforeInit.d.ts +3 -0
  151. package/lib/types/interfaces/BeforeListen.d.ts +3 -0
  152. package/lib/types/interfaces/BeforeRoutesInit.d.ts +3 -0
  153. package/lib/types/interfaces/HandlerType.d.ts +12 -0
  154. package/lib/types/interfaces/IncomingEvent.d.ts +6 -0
  155. package/lib/types/interfaces/OnReady.d.ts +3 -0
  156. package/lib/types/interfaces/OnRequest.d.ts +4 -0
  157. package/lib/types/interfaces/OnResponse.d.ts +4 -0
  158. package/lib/types/interfaces/OnRoutesInit.d.ts +3 -0
  159. package/lib/types/interfaces/PlatformRouteOptions.d.ts +15 -0
  160. package/lib/types/interfaces/ResponseErrorObject.d.ts +8 -0
  161. package/lib/types/interfaces/Route.d.ts +10 -0
  162. package/lib/types/middlewares/PlatformAcceptMimesMiddleware.d.ts +10 -0
  163. package/lib/types/middlewares/PlatformMulterMiddleware.d.ts +24 -0
  164. package/lib/types/services/FakeAdapter.d.ts +1 -0
  165. package/lib/types/services/FakeResponse.d.ts +22 -0
  166. package/lib/types/services/Platform.d.ts +25 -0
  167. package/lib/types/services/PlatformAdapter.d.ts +89 -0
  168. package/lib/types/services/PlatformApplication.d.ts +29 -0
  169. package/lib/types/services/PlatformHandler.d.ts +39 -0
  170. package/lib/types/services/PlatformMiddlewaresChain.d.ts +17 -0
  171. package/lib/types/services/PlatformRequest.d.ts +111 -0
  172. package/lib/types/services/PlatformResponse.d.ts +175 -0
  173. package/lib/types/services/PlatformTest.d.ts +61 -0
  174. package/lib/types/utils/closeServer.d.ts +7 -0
  175. package/lib/types/utils/createContext.d.ts +10 -0
  176. package/lib/types/utils/createHttpServer.d.ts +4 -0
  177. package/lib/types/utils/createHttpsServer.d.ts +4 -0
  178. package/lib/types/utils/createInjector.d.ts +8 -0
  179. package/lib/types/utils/createServer.d.ts +17 -0
  180. package/lib/types/utils/ensureContext.d.ts +2 -0
  181. package/lib/types/utils/getConfiguration.d.ts +2 -0
  182. package/lib/types/utils/getStaticsOptions.d.ts +5 -0
  183. package/lib/types/utils/listenServer.d.ts +8 -0
  184. package/lib/types/utils/mapReturnedResponse.d.ts +4 -0
  185. package/lib/types/utils/printRoutes.d.ts +2 -0
  186. package/lib/types/utils/registerPlatformAdapter.d.ts +3 -0
  187. package/lib/types/utils/setResponseHeaders.d.ts +5 -0
  188. package/package.json +106 -0
  189. package/readme.md +226 -0
  190. package/vitest.config.mts +21 -0
@@ -0,0 +1,75 @@
1
+ import { Metadata, StoreMerge, useDecorators, useMethodDecorators } from "@tsed/core";
2
+ import { ParamTypes, UseParam } from "@tsed/platform-params";
3
+ import { InFile } from "@tsed/schema";
4
+ import { PlatformMulterMiddleware } from "../../middlewares/PlatformMulterMiddleware.js";
5
+ function mapOptions(name, maxCount) {
6
+ return {
7
+ fields: [
8
+ {
9
+ name,
10
+ maxCount
11
+ }
12
+ ]
13
+ };
14
+ }
15
+ /**
16
+ * Define a parameter as Multipart file.
17
+ *
18
+ * ```typescript
19
+ * import {Post} from "@tsed/schema";
20
+ * import {Controller, MulterOptions, MultipartFile} from "@tsed/platform-http";
21
+ * import {Controller} from "@tsed/di";
22
+ * import {Multer} from "@types/multer";
23
+ *
24
+ * type MulterFile = Express.Multer.File;
25
+ *
26
+ * @Controller('/')
27
+ * class MyCtrl {
28
+ * @Post('/file')
29
+ * private uploadFile(@MultipartFile("file1") file: MulterFile) {
30
+ *
31
+ * }
32
+ *
33
+ * @Post('/file')
34
+ * @MulterOptions({dest: "/other-dir"})
35
+ * private uploadFile(@MultipartFile("file1") file: MulterFile) {
36
+ *
37
+ * }
38
+ *
39
+ * @Post('/file2')
40
+ * @MulterOptions({dest: "/other-dir"})
41
+ * private uploadFile(@MultipartFile("file1") file: MulterFile, @MultipartFile("file2") file2: MulterFile) {
42
+ *
43
+ * }
44
+ *
45
+ * @Post('/files')
46
+ * private uploadFile(@MultipartFile("file1") files: MulterFile[]) {
47
+ *
48
+ * }
49
+ * }
50
+ * ```
51
+ *
52
+ * > See the tutorial on the [multer configuration](/tutorials/multer.md).
53
+ *
54
+ * @param name
55
+ * @param maxCount
56
+ * @returns Function
57
+ * @decorator
58
+ * @input
59
+ */
60
+ export function MultipartFile(name, maxCount) {
61
+ return (...args) => {
62
+ const [target, propertyKey, index] = args;
63
+ const multiple = Metadata.getParamTypes(target, propertyKey)[index] === Array;
64
+ name = (typeof name === "object" ? undefined : name);
65
+ const expression = [name, !multiple && "0"].filter(Boolean).join(".");
66
+ const decorators = useDecorators(InFile(name), useMethodDecorators(StoreMerge(PlatformMulterMiddleware, mapOptions(name, maxCount))), UseParam({
67
+ paramType: ParamTypes.FILES,
68
+ dataPath: "$ctx.request.files",
69
+ expression,
70
+ useValidation: true
71
+ }));
72
+ decorators(...args);
73
+ };
74
+ }
75
+ //# sourceMappingURL=multipartFile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multipartFile.js","sourceRoot":"","sources":["../../../../src/decorators/multer/multipartFile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,mBAAmB,EAAC,MAAM,YAAY,CAAC;AACzG,OAAO,EAAC,UAAU,EAAE,QAAQ,EAAC,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAC,MAAM,EAAC,MAAM,cAAc,CAAC;AAGpC,OAAO,EAAqB,wBAAwB,EAAC,MAAM,+CAA+C,CAAC;AAE3G,SAAS,UAAU,CAAC,IAAY,EAAE,QAA4B;IAC5D,OAAO;QACL,MAAM,EAAE;YACN;gBACE,IAAI;gBACJ,QAAQ;aACT;SACF;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,QAAiB;IAC3D,OAAO,CAAC,GAAG,IAAyB,EAAQ,EAAE;QAC5C,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC;QAC1C,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,KAAe,CAAC,KAAK,KAAK,CAAC;QAExF,IAAI,GAAG,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAE,CAAC;QAEtD,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,CAAC,QAAQ,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEtE,MAAM,UAAU,GAAG,aAAa,CAC9B,MAAM,CAAC,IAAI,CAAC,EACZ,mBAAmB,CAAC,UAAU,CAAC,wBAAwB,EAAE,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,EACrF,QAAQ,CAAC;YACP,SAAS,EAAE,UAAU,CAAC,KAAK;YAC3B,QAAQ,EAAE,oBAAoB;YAC9B,UAAU;YACV,aAAa,EAAE,IAAI;SACpB,CAAC,CACH,CAAC;QAEF,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC;IACtB,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { ParamTypes, UseParam } from "@tsed/platform-params";
2
+ /**
3
+ * @returns {Function}
4
+ * @decorator
5
+ * @operation
6
+ * @input
7
+ */
8
+ export function Err() {
9
+ return UseParam({
10
+ paramType: ParamTypes.ERR,
11
+ dataPath: "$ctx.error",
12
+ useValidation: false,
13
+ useMapper: false
14
+ });
15
+ }
16
+ //# sourceMappingURL=error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error.js","sourceRoot":"","sources":["../../../../src/decorators/params/error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,QAAQ,EAAC,MAAM,uBAAuB,CAAC;AAE3D;;;;;GAKG;AACH,MAAM,UAAU,GAAG;IACjB,OAAO,QAAQ,CAAC;QACd,SAAS,EAAE,UAAU,CAAC,GAAG;QACzB,QAAQ,EAAE,YAAY;QACtB,aAAa,EAAE,KAAK;QACpB,SAAS,EAAE,KAAK;KACjB,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { ParamTypes, UseParam } from "@tsed/platform-params";
2
+ /**
3
+ * Get the Next function (for express application and middleware).
4
+ *
5
+ * @decorator
6
+ * @operation
7
+ * @input
8
+ */
9
+ export function Next() {
10
+ return UseParam({
11
+ paramType: ParamTypes.NEXT_FN,
12
+ dataPath: "next",
13
+ useMapper: false,
14
+ useValidation: false
15
+ });
16
+ }
17
+ //# sourceMappingURL=next.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"next.js","sourceRoot":"","sources":["../../../../src/decorators/params/next.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,QAAQ,EAAC,MAAM,uBAAuB,CAAC;AAE3D;;;;;;GAMG;AACH,MAAM,UAAU,IAAI;IAClB,OAAO,QAAQ,CAAC;QACd,SAAS,EAAE,UAAU,CAAC,OAAO;QAC7B,QAAQ,EAAE,MAAM;QAChB,SAAS,EAAE,KAAK;QAChB,aAAa,EAAE,KAAK;KACrB,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,34 @@
1
+ import { isClass, Metadata, nameOf } from "@tsed/core";
2
+ import { mapParamsOptions, ParamTypes, UseParam } from "@tsed/platform-params";
3
+ import { IncomingMessage } from "http";
4
+ function getParamType(target, propertyKey, parameterIndex) {
5
+ const type = Metadata.getOwnParamTypes(target, propertyKey)[parameterIndex];
6
+ if (isClass(type)) {
7
+ if (nameOf(type) === "PlatformRequest") {
8
+ return { paramType: ParamTypes.PLATFORM_REQUEST, dataPath: "$ctx.request" };
9
+ }
10
+ if (type === IncomingMessage) {
11
+ return { paramType: ParamTypes.NODE_REQUEST, dataPath: "$ctx.request.req" };
12
+ }
13
+ }
14
+ return { paramType: ParamTypes.REQUEST, dataPath: "$ctx.request.request" };
15
+ }
16
+ export function Request(...args) {
17
+ // @ts-ignore
18
+ return Req(...args);
19
+ }
20
+ export function Req(...args) {
21
+ const { expression, useType, useMapper = false, useValidation = false } = mapParamsOptions(args);
22
+ return (target, propertyKey, parameterIndex) => {
23
+ const { paramType, dataPath } = getParamType(target, propertyKey, parameterIndex);
24
+ UseParam({
25
+ paramType,
26
+ dataPath,
27
+ expression,
28
+ useType,
29
+ useMapper,
30
+ useValidation
31
+ })(target, propertyKey, parameterIndex);
32
+ };
33
+ }
34
+ //# sourceMappingURL=request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["../../../../src/decorators/params/request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAO,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAC,gBAAgB,EAAgB,UAAU,EAAE,QAAQ,EAAC,MAAM,uBAAuB,CAAC;AAC3F,OAAO,EAAC,eAAe,EAAC,MAAM,MAAM,CAAC;AAErC,SAAS,YAAY,CAAC,MAAc,EAAE,WAAwC,EAAE,cAAsB;IACpG,MAAM,IAAI,GAAG,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,cAAc,CAAC,CAAC;IAE5E,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,iBAAiB,EAAE,CAAC;YACvC,OAAO,EAAC,SAAS,EAAE,UAAU,CAAC,gBAAgB,EAAE,QAAQ,EAAE,cAAc,EAAC,CAAC;QAC5E,CAAC;QAED,IAAI,IAAI,KAAK,eAAe,EAAE,CAAC;YAC7B,OAAO,EAAC,SAAS,EAAE,UAAU,CAAC,YAAY,EAAE,QAAQ,EAAE,kBAAkB,EAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IAED,OAAO,EAAC,SAAS,EAAE,UAAU,CAAC,OAAO,EAAE,QAAQ,EAAE,sBAAsB,EAAC,CAAC;AAC3E,CAAC;AAcD,MAAM,UAAU,OAAO,CAAC,GAAG,IAAW;IACpC,aAAa;IACb,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AACtB,CAAC;AAeD,MAAM,UAAU,GAAG,CAAC,GAAG,IAAW;IAChC,MAAM,EAAC,UAAU,EAAE,OAAO,EAAE,SAAS,GAAG,KAAK,EAAE,aAAa,GAAG,KAAK,EAAC,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAE/F,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,EAAE;QAC7C,MAAM,EAAC,SAAS,EAAE,QAAQ,EAAC,GAAG,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;QAEhF,QAAQ,CAAC;YACP,SAAS;YACT,QAAQ;YACR,UAAU;YACV,OAAO;YACP,SAAS;YACT,aAAa;SACd,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;IAC1C,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { isClass, Metadata, nameOf } from "@tsed/core";
2
+ import { ParamTypes, UseParam } from "@tsed/platform-params";
3
+ import { ServerResponse } from "http";
4
+ function getParamType(target, propertyKey, parameterIndex) {
5
+ const type = Metadata.getOwnParamTypes(target, propertyKey)[parameterIndex];
6
+ if (isClass(type)) {
7
+ if (nameOf(type) === "PlatformResponse") {
8
+ return { paramType: ParamTypes.PLATFORM_RESPONSE, dataPath: "$ctx.response" };
9
+ }
10
+ if (type === ServerResponse) {
11
+ return { paramType: ParamTypes.NODE_RESPONSE, dataPath: "$ctx.response.res" };
12
+ }
13
+ }
14
+ return { paramType: ParamTypes.RESPONSE, dataPath: "$ctx.response.response" };
15
+ }
16
+ export function Response() {
17
+ return Res();
18
+ }
19
+ export function Res() {
20
+ return (target, propertyKey, parameterIndex) => {
21
+ const { paramType, dataPath } = getParamType(target, propertyKey, parameterIndex);
22
+ UseParam({
23
+ paramType,
24
+ dataPath
25
+ })(target, propertyKey, parameterIndex);
26
+ };
27
+ }
28
+ //# sourceMappingURL=response.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"response.js","sourceRoot":"","sources":["../../../../src/decorators/params/response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAC,MAAM,YAAY,CAAC;AACrD,OAAO,EAAC,UAAU,EAAE,QAAQ,EAAC,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAC,cAAc,EAAC,MAAM,MAAM,CAAC;AAEpC,SAAS,YAAY,CAAC,MAAc,EAAE,WAAwC,EAAE,cAAsB;IACpG,MAAM,IAAI,GAAG,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,cAAc,CAAC,CAAC;IAE5E,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,kBAAkB,EAAE,CAAC;YACxC,OAAO,EAAC,SAAS,EAAE,UAAU,CAAC,iBAAiB,EAAE,QAAQ,EAAE,eAAe,EAAC,CAAC;QAC9E,CAAC;QAED,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;YAC5B,OAAO,EAAC,SAAS,EAAE,UAAU,CAAC,aAAa,EAAE,QAAQ,EAAE,mBAAmB,EAAC,CAAC;QAC9E,CAAC;IACH,CAAC;IAED,OAAO,EAAC,SAAS,EAAE,UAAU,CAAC,QAAQ,EAAE,QAAQ,EAAE,wBAAwB,EAAC,CAAC;AAC9E,CAAC;AAWD,MAAM,UAAU,QAAQ;IACtB,OAAO,GAAG,EAAE,CAAC;AACf,CAAC;AAYD,MAAM,UAAU,GAAG;IACjB,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,EAAE;QAC7C,MAAM,EAAC,SAAS,EAAE,QAAQ,EAAC,GAAG,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;QAChF,QAAQ,CAAC;YACP,SAAS;YACT,QAAQ;SACT,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;IAC1C,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { AnyToPromise } from "@tsed/core";
2
+ export class AnyToPromiseWithCtx extends AnyToPromise {
3
+ constructor($ctx) {
4
+ super();
5
+ this.$ctx = $ctx;
6
+ }
7
+ isDone() {
8
+ const { $ctx } = this;
9
+ return $ctx?.isDone() || super.isDone();
10
+ }
11
+ call(cb) {
12
+ return super.call(() => cb(this));
13
+ }
14
+ destroy() {
15
+ this.$ctx = null;
16
+ }
17
+ isCanceledResponse(process) {
18
+ return process === this.$ctx.getResponse();
19
+ }
20
+ }
21
+ //# sourceMappingURL=AnyToPromiseWithCtx.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AnyToPromiseWithCtx.js","sourceRoot":"","sources":["../../../src/domain/AnyToPromiseWithCtx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,YAAY,EAAC,MAAM,YAAY,CAAC;AAI1D,MAAM,OAAO,mBAAoB,SAAQ,YAAY;IAGnD,YAAY,IAAqB;QAC/B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,MAAM;QACJ,MAAM,EAAC,IAAI,EAAC,GAAG,IAAI,CAAC;QAEpB,OAAO,IAAI,EAAE,MAAM,EAAE,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;IAC1C,CAAC;IAED,IAAI,CAAC,EAAY;QACf,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACpC,CAAC;IAED,OAAO;QACJ,IAAI,CAAC,IAAY,GAAG,IAAI,CAAC;IAC5B,CAAC;IAED,kBAAkB,CAAC,OAAY;QAC7B,OAAO,OAAO,KAAK,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IAC7C,CAAC;CACF"}
@@ -0,0 +1,2 @@
1
+ export { EndpointMetadata } from "@tsed/schema";
2
+ //# sourceMappingURL=EndpointMetadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EndpointMetadata.js","sourceRoot":"","sources":["../../../src/domain/EndpointMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,cAAc,CAAC"}
@@ -0,0 +1,69 @@
1
+ import { DIContext } from "@tsed/di";
2
+ import { PlatformApplication } from "../services/PlatformApplication.js";
3
+ import { PlatformRequest } from "../services/PlatformRequest.js";
4
+ import { PlatformResponse } from "../services/PlatformResponse.js";
5
+ export class PlatformContext extends DIContext {
6
+ #isFinished;
7
+ constructor(options) {
8
+ super(options);
9
+ this.PLATFORM = "WWW";
10
+ this.#isFinished = false;
11
+ options.endpoint && (this.endpoint = options.endpoint);
12
+ this.event = options.event;
13
+ this.response = new (options.ResponseKlass || PlatformResponse)(this);
14
+ this.request = new (options.RequestKlass || PlatformRequest)(this);
15
+ this.request.request.$ctx = this;
16
+ this.request.request.id = this.id;
17
+ this.response.setHeader("x-request-id", this.id);
18
+ }
19
+ get url() {
20
+ return this.request.url;
21
+ }
22
+ get app() {
23
+ return this.injector.get(PlatformApplication);
24
+ }
25
+ start() {
26
+ return this.emit("$onRequest", this);
27
+ }
28
+ async finish() {
29
+ await Promise.all([this.emit("$onResponse", this), this.destroy()]);
30
+ this.#isFinished = true;
31
+ }
32
+ isFinished() {
33
+ return this.#isFinished;
34
+ }
35
+ isDone() {
36
+ return this.request?.isAborted() || this.response?.isDone() || this.isFinished();
37
+ }
38
+ /**
39
+ * Return the framework request instance (Express, Koa, etc...)
40
+ */
41
+ getRequest() {
42
+ return this.request.getRequest();
43
+ }
44
+ /**
45
+ * Return the framework response instance (Express, Koa, etc...)
46
+ */
47
+ getResponse() {
48
+ return this.response.getResponse();
49
+ }
50
+ /**
51
+ * Get Node.js request
52
+ */
53
+ getReq() {
54
+ return this.request.getReq();
55
+ }
56
+ /**
57
+ * Get Node.js response
58
+ */
59
+ getRes() {
60
+ return this.response.getRes();
61
+ }
62
+ /**
63
+ * Return the original application instance.
64
+ */
65
+ getApp() {
66
+ return this.app.getApp();
67
+ }
68
+ }
69
+ //# sourceMappingURL=PlatformContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlatformContext.js","sourceRoot":"","sources":["../../../src/domain/PlatformContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAmB,MAAM,UAAU,CAAC;AAMrD,OAAO,EAAC,mBAAmB,EAAC,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAC,eAAe,EAAC,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAC,gBAAgB,EAAC,MAAM,iCAAiC,CAAC;AAcjE,MAAM,OAAO,eAGX,SAAQ,SAAS;IAgCjB,WAAW,CAAkB;IAE7B,YAAY,OAA+B;QACzC,KAAK,CAAC,OAAO,CAAC,CAAC;QAlCR,aAAQ,GAAW,KAAK,CAAC;QA+BlC,gBAAW,GAAY,KAAK,CAAC;QAK3B,OAAO,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QAEvD,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC;QACtE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC;QAEnE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QAElC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;IAC1B,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAsB,mBAAmB,CAAE,CAAC;IACtE,CAAC;IAED,KAAK;QACH,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,MAAM;QACV,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACpE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;IACnF,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAO,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAO,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,EAAS,CAAC;IAClC,CAAC;CACF"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=PlatformRouteDetails.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlatformRouteDetails.js","sourceRoot":"","sources":["../../../src/domain/PlatformRouteDetails.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import "@tsed/logger";
2
+ import "@tsed/platform-exceptions";
3
+ import "@tsed/platform-response-filter";
4
+ import "@tsed/platform-router";
5
+ //# sourceMappingURL=exports.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exports.js","sourceRoot":"","sources":["../../src/exports.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,CAAC;AACtB,OAAO,2BAA2B,CAAC;AACnC,OAAO,gCAAgC,CAAC;AACxC,OAAO,uBAAuB,CAAC"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * @file Automatically generated by @tsed/barrels.
3
+ */
4
+ export * from "./builder/PlatformBuilder.js";
5
+ export * from "./config/interfaces/PlatformJsonMapperSettings.js";
6
+ export * from "./config/interfaces/PlatformMulterSettings.js";
7
+ export * from "./config/interfaces/PlatformRouterSettings.js";
8
+ export * from "./config/interfaces/PlatformStaticsSettings.js";
9
+ export * from "./config/services/PlatformConfiguration.js";
10
+ export * from "./constants/routerOptions.js";
11
+ export * from "./decorators/multer/multerFileSize.js";
12
+ export * from "./decorators/multer/multerOptions.js";
13
+ export * from "./decorators/multer/multipartFile.js";
14
+ export * from "./decorators/params/error.js";
15
+ export * from "./decorators/params/next.js";
16
+ export * from "./decorators/params/request.js";
17
+ export * from "./decorators/params/response.js";
18
+ export * from "./decorators/PlatformProvider.js";
19
+ export * from "./domain/AnyToPromiseWithCtx.js";
20
+ export * from "./domain/EndpointMetadata.js";
21
+ export * from "./domain/PlatformContext.js";
22
+ export * from "./domain/PlatformRouteDetails.js";
23
+ export * from "./exports.js";
24
+ export * from "./interfaces/AfterInit.js";
25
+ export * from "./interfaces/AfterListen.js";
26
+ export * from "./interfaces/AfterRoutesInit.js";
27
+ export * from "./interfaces/BeforeInit.js";
28
+ export * from "./interfaces/BeforeListen.js";
29
+ export * from "./interfaces/BeforeRoutesInit.js";
30
+ export * from "./interfaces/HandlerType.js";
31
+ export * from "./interfaces/IncomingEvent.js";
32
+ export * from "./interfaces/OnReady.js";
33
+ export * from "./interfaces/OnRequest.js";
34
+ export * from "./interfaces/OnResponse.js";
35
+ export * from "./interfaces/OnRoutesInit.js";
36
+ export * from "./interfaces/PlatformRouteOptions.js";
37
+ export * from "./interfaces/ResponseErrorObject.js";
38
+ export * from "./interfaces/Route.js";
39
+ export * from "./middlewares/PlatformAcceptMimesMiddleware.js";
40
+ export * from "./middlewares/PlatformMulterMiddleware.js";
41
+ export * from "./services/FakeAdapter.js";
42
+ export * from "./services/FakeResponse.js";
43
+ export * from "./services/Platform.js";
44
+ export * from "./services/PlatformAdapter.js";
45
+ export * from "./services/PlatformApplication.js";
46
+ export * from "./services/PlatformHandler.js";
47
+ export * from "./services/PlatformMiddlewaresChain.js";
48
+ export * from "./services/PlatformRequest.js";
49
+ export * from "./services/PlatformResponse.js";
50
+ export * from "./services/PlatformTest.js";
51
+ export * from "./utils/closeServer.js";
52
+ export * from "./utils/createContext.js";
53
+ export * from "./utils/createHttpServer.js";
54
+ export * from "./utils/createHttpsServer.js";
55
+ export * from "./utils/createInjector.js";
56
+ export * from "./utils/createServer.js";
57
+ export * from "./utils/ensureContext.js";
58
+ export * from "./utils/getStaticsOptions.js";
59
+ export * from "./utils/listenServer.js";
60
+ export * from "./utils/mapReturnedResponse.js";
61
+ export * from "./utils/printRoutes.js";
62
+ export * from "./utils/registerPlatformAdapter.js";
63
+ export * from "./utils/setResponseHeaders.js";
64
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mDAAmD,CAAC;AAClE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,gDAAgD,CAAC;AAC/D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uCAAuC,CAAC;AACtD,cAAc,sCAAsC,CAAC;AACrD,cAAc,sCAAsC,CAAC;AACrD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,cAAc,CAAC;AAC7B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sCAAsC,CAAC;AACrD,cAAc,qCAAqC,CAAC;AACpD,cAAc,uBAAuB,CAAC;AACtC,cAAc,gDAAgD,CAAC;AAC/D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mCAAmC,CAAC;AAClD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wCAAwC,CAAC;AACvD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wBAAwB,CAAC;AACvC,cAAc,oCAAoC,CAAC;AACnD,cAAc,+BAA+B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=AfterInit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AfterInit.js","sourceRoot":"","sources":["../../../src/interfaces/AfterInit.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=AfterListen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AfterListen.js","sourceRoot":"","sources":["../../../src/interfaces/AfterListen.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=AfterRoutesInit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AfterRoutesInit.js","sourceRoot":"","sources":["../../../src/interfaces/AfterRoutesInit.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=BeforeInit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BeforeInit.js","sourceRoot":"","sources":["../../../src/interfaces/BeforeInit.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=BeforeListen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BeforeListen.js","sourceRoot":"","sources":["../../../src/interfaces/BeforeListen.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=BeforeRoutesInit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BeforeRoutesInit.js","sourceRoot":"","sources":["../../../src/interfaces/BeforeRoutesInit.ts"],"names":[],"mappings":""}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @ignore
3
+ */
4
+ export var HandlerType;
5
+ (function (HandlerType) {
6
+ HandlerType["CUSTOM"] = "custom";
7
+ HandlerType["ENDPOINT"] = "endpoint";
8
+ HandlerType["MIDDLEWARE"] = "middleware";
9
+ HandlerType["ERR_MIDDLEWARE"] = "err:middleware";
10
+ HandlerType["CTX_FN"] = "context";
11
+ HandlerType["RAW_FN"] = "raw:middleware";
12
+ HandlerType["RAW_ERR_FN"] = "raw:err:middleware";
13
+ })(HandlerType || (HandlerType = {}));
14
+ //# sourceMappingURL=HandlerType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HandlerType.js","sourceRoot":"","sources":["../../../src/interfaces/HandlerType.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAN,IAAY,WAQX;AARD,WAAY,WAAW;IACrB,gCAAiB,CAAA;IACjB,oCAAqB,CAAA;IACrB,wCAAyB,CAAA;IACzB,gDAAiC,CAAA;IACjC,iCAAkB,CAAA;IAClB,wCAAyB,CAAA;IACzB,gDAAiC,CAAA;AACnC,CAAC,EARW,WAAW,KAAX,WAAW,QAQtB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IncomingEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IncomingEvent.js","sourceRoot":"","sources":["../../../src/interfaces/IncomingEvent.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=OnReady.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OnReady.js","sourceRoot":"","sources":["../../../src/interfaces/OnReady.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=OnRequest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OnRequest.js","sourceRoot":"","sources":["../../../src/interfaces/OnRequest.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=OnResponse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OnResponse.js","sourceRoot":"","sources":["../../../src/interfaces/OnResponse.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=OnRoutesInit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OnRoutesInit.js","sourceRoot":"","sources":["../../../src/interfaces/OnRoutesInit.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=PlatformRouteOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlatformRouteOptions.js","sourceRoot":"","sources":["../../../src/interfaces/PlatformRouteOptions.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ResponseErrorObject.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResponseErrorObject.js","sourceRoot":"","sources":["../../../src/interfaces/ResponseErrorObject.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Route.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Route.js","sourceRoot":"","sources":["../../../src/interfaces/Route.ts"],"names":[],"mappings":""}
@@ -0,0 +1,36 @@
1
+ import { __decorate, __metadata, __param } from "tslib";
2
+ import { uniq } from "@tsed/core";
3
+ import { Constant } from "@tsed/di";
4
+ import { NotAcceptable } from "@tsed/exceptions";
5
+ import { Middleware } from "@tsed/platform-middlewares";
6
+ import { Context } from "@tsed/platform-params";
7
+ /**
8
+ * @middleware
9
+ * @platform
10
+ */
11
+ let PlatformAcceptMimesMiddleware = class PlatformAcceptMimesMiddleware {
12
+ use(ctx) {
13
+ const { endpoint, request } = ctx;
14
+ const mimes = uniq((endpoint?.get("acceptMimes") || []).concat(this.acceptMimes));
15
+ if (mimes.length && !request.accepts(mimes)) {
16
+ throw new NotAcceptable(mimes.join(", "));
17
+ }
18
+ }
19
+ };
20
+ __decorate([
21
+ Constant("acceptMimes", []),
22
+ __metadata("design:type", Array)
23
+ ], PlatformAcceptMimesMiddleware.prototype, "acceptMimes", void 0);
24
+ __decorate([
25
+ __param(0, Context()),
26
+ __metadata("design:type", Function),
27
+ __metadata("design:paramtypes", [Object]),
28
+ __metadata("design:returntype", void 0)
29
+ ], PlatformAcceptMimesMiddleware.prototype, "use", null);
30
+ PlatformAcceptMimesMiddleware = __decorate([
31
+ Middleware({
32
+ priority: -10
33
+ })
34
+ ], PlatformAcceptMimesMiddleware);
35
+ export { PlatformAcceptMimesMiddleware };
36
+ //# sourceMappingURL=PlatformAcceptMimesMiddleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlatformAcceptMimesMiddleware.js","sourceRoot":"","sources":["../../../src/middlewares/PlatformAcceptMimesMiddleware.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,YAAY,CAAC;AAChC,OAAO,EAAC,QAAQ,EAAC,MAAM,UAAU,CAAC;AAClC,OAAO,EAAC,aAAa,EAAC,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAC,UAAU,EAAoB,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAC,OAAO,EAAC,MAAM,uBAAuB,CAAC;AAE9C;;;GAGG;AAII,IAAM,6BAA6B,GAAnC,MAAM,6BAA6B;IAIjC,GAAG,CAAY,GAAY;QAChC,MAAM,EAAC,QAAQ,EAAE,OAAO,EAAC,GAAG,GAAG,CAAC;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QAElF,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;CACF,CAAA;AAVC;IADC,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAC;;kEACN;AAEf;IAAK,WAAA,OAAO,EAAE,CAAA;;;;wDAOpB;AAXU,6BAA6B;IAHzC,UAAU,CAAC;QACV,QAAQ,EAAE,CAAC,EAAE;KACd,CAAC;GACW,6BAA6B,CAYzC"}