@spinajs/http 2.0.355 → 2.0.358

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 (103) hide show
  1. package/lib/cjs/controllers.d.ts +6 -4
  2. package/lib/cjs/controllers.d.ts.map +1 -1
  3. package/lib/cjs/controllers.js +78 -3
  4. package/lib/cjs/controllers.js.map +1 -1
  5. package/lib/cjs/route-args/ArgAsRequest.d.ts +1 -1
  6. package/lib/cjs/route-args/ArgAsRequest.d.ts.map +1 -1
  7. package/lib/cjs/route-args/ArgAsRequest.js +1 -1
  8. package/lib/cjs/route-args/ArgAsRequest.js.map +1 -1
  9. package/lib/cjs/route-args/ArgAsResponse.d.ts +1 -1
  10. package/lib/cjs/route-args/ArgAsResponse.d.ts.map +1 -1
  11. package/lib/cjs/route-args/ArgAsResponse.js +1 -1
  12. package/lib/cjs/route-args/ArgAsResponse.js.map +1 -1
  13. package/lib/cjs/route-args/FromBody.d.ts +1 -1
  14. package/lib/cjs/route-args/FromBody.d.ts.map +1 -1
  15. package/lib/cjs/route-args/FromBody.js +1 -1
  16. package/lib/cjs/route-args/FromBody.js.map +1 -1
  17. package/lib/cjs/route-args/FromCookie.d.ts +1 -1
  18. package/lib/cjs/route-args/FromCookie.d.ts.map +1 -1
  19. package/lib/cjs/route-args/FromCookie.js +1 -1
  20. package/lib/cjs/route-args/FromCookie.js.map +1 -1
  21. package/lib/cjs/route-args/FromDi.d.ts +1 -1
  22. package/lib/cjs/route-args/FromDi.d.ts.map +1 -1
  23. package/lib/cjs/route-args/FromDi.js +1 -1
  24. package/lib/cjs/route-args/FromDi.js.map +1 -1
  25. package/lib/cjs/route-args/FromForm.d.ts +6 -6
  26. package/lib/cjs/route-args/FromForm.d.ts.map +1 -1
  27. package/lib/cjs/route-args/FromForm.js +11 -11
  28. package/lib/cjs/route-args/FromForm.js.map +1 -1
  29. package/lib/cjs/route-args/FromHeaderArg.d.ts +1 -1
  30. package/lib/cjs/route-args/FromHeaderArg.d.ts.map +1 -1
  31. package/lib/cjs/route-args/FromHeaderArg.js +1 -1
  32. package/lib/cjs/route-args/FromHeaderArg.js.map +1 -1
  33. package/lib/cjs/route-args/FromParams.d.ts +1 -1
  34. package/lib/cjs/route-args/FromParams.d.ts.map +1 -1
  35. package/lib/cjs/route-args/FromParams.js +1 -1
  36. package/lib/cjs/route-args/FromParams.js.map +1 -1
  37. package/lib/cjs/route-args/FromQuery.d.ts +1 -1
  38. package/lib/cjs/route-args/FromQuery.d.ts.map +1 -1
  39. package/lib/cjs/route-args/FromQuery.js +1 -1
  40. package/lib/cjs/route-args/FromQuery.js.map +1 -1
  41. package/lib/cjs/route-args/RequestFields.d.ts +5 -5
  42. package/lib/cjs/route-args/RequestFields.d.ts.map +1 -1
  43. package/lib/cjs/route-args/RequestFields.js +5 -5
  44. package/lib/cjs/route-args/RequestFields.js.map +1 -1
  45. package/lib/cjs/route-args/RouteArgs.d.ts +2 -2
  46. package/lib/cjs/route-args/RouteArgs.d.ts.map +1 -1
  47. package/lib/cjs/server.d.ts +0 -8
  48. package/lib/cjs/server.d.ts.map +1 -1
  49. package/lib/cjs/server.js +0 -91
  50. package/lib/cjs/server.js.map +1 -1
  51. package/lib/mjs/controllers.d.ts +6 -4
  52. package/lib/mjs/controllers.d.ts.map +1 -1
  53. package/lib/mjs/controllers.js +80 -5
  54. package/lib/mjs/controllers.js.map +1 -1
  55. package/lib/mjs/route-args/ArgAsRequest.d.ts +1 -1
  56. package/lib/mjs/route-args/ArgAsRequest.d.ts.map +1 -1
  57. package/lib/mjs/route-args/ArgAsRequest.js +1 -1
  58. package/lib/mjs/route-args/ArgAsRequest.js.map +1 -1
  59. package/lib/mjs/route-args/ArgAsResponse.d.ts +1 -1
  60. package/lib/mjs/route-args/ArgAsResponse.d.ts.map +1 -1
  61. package/lib/mjs/route-args/ArgAsResponse.js +1 -1
  62. package/lib/mjs/route-args/ArgAsResponse.js.map +1 -1
  63. package/lib/mjs/route-args/FromBody.d.ts +1 -1
  64. package/lib/mjs/route-args/FromBody.d.ts.map +1 -1
  65. package/lib/mjs/route-args/FromBody.js +1 -1
  66. package/lib/mjs/route-args/FromBody.js.map +1 -1
  67. package/lib/mjs/route-args/FromCookie.d.ts +1 -1
  68. package/lib/mjs/route-args/FromCookie.d.ts.map +1 -1
  69. package/lib/mjs/route-args/FromCookie.js +1 -1
  70. package/lib/mjs/route-args/FromCookie.js.map +1 -1
  71. package/lib/mjs/route-args/FromDi.d.ts +1 -1
  72. package/lib/mjs/route-args/FromDi.d.ts.map +1 -1
  73. package/lib/mjs/route-args/FromDi.js +1 -1
  74. package/lib/mjs/route-args/FromDi.js.map +1 -1
  75. package/lib/mjs/route-args/FromForm.d.ts +6 -6
  76. package/lib/mjs/route-args/FromForm.d.ts.map +1 -1
  77. package/lib/mjs/route-args/FromForm.js +11 -11
  78. package/lib/mjs/route-args/FromForm.js.map +1 -1
  79. package/lib/mjs/route-args/FromHeaderArg.d.ts +1 -1
  80. package/lib/mjs/route-args/FromHeaderArg.d.ts.map +1 -1
  81. package/lib/mjs/route-args/FromHeaderArg.js +1 -1
  82. package/lib/mjs/route-args/FromHeaderArg.js.map +1 -1
  83. package/lib/mjs/route-args/FromParams.d.ts +1 -1
  84. package/lib/mjs/route-args/FromParams.d.ts.map +1 -1
  85. package/lib/mjs/route-args/FromParams.js +1 -1
  86. package/lib/mjs/route-args/FromParams.js.map +1 -1
  87. package/lib/mjs/route-args/FromQuery.d.ts +1 -1
  88. package/lib/mjs/route-args/FromQuery.d.ts.map +1 -1
  89. package/lib/mjs/route-args/FromQuery.js +1 -1
  90. package/lib/mjs/route-args/FromQuery.js.map +1 -1
  91. package/lib/mjs/route-args/RequestFields.d.ts +5 -5
  92. package/lib/mjs/route-args/RequestFields.d.ts.map +1 -1
  93. package/lib/mjs/route-args/RequestFields.js +5 -5
  94. package/lib/mjs/route-args/RequestFields.js.map +1 -1
  95. package/lib/mjs/route-args/RouteArgs.d.ts +2 -2
  96. package/lib/mjs/route-args/RouteArgs.d.ts.map +1 -1
  97. package/lib/mjs/server.d.ts +0 -8
  98. package/lib/mjs/server.d.ts.map +1 -1
  99. package/lib/mjs/server.js +1 -92
  100. package/lib/mjs/server.js.map +1 -1
  101. package/lib/tsconfig.cjs.tsbuildinfo +1 -1
  102. package/lib/tsconfig.mjs.tsbuildinfo +1 -1
  103. package/package.json +11 -11
@@ -4,7 +4,7 @@ import { IRouteParameter, ParameterType, IRouteCall, IRoute } from '../interface
4
4
  import * as express from 'express';
5
5
  export declare class FromParams extends RouteArgs {
6
6
  get SupportedType(): ParameterType;
7
- extract(callData: IRouteCall, param: IRouteParameter, req: express.Request, _res: express.Response, route: IRoute): Promise<{
7
+ extract(callData: IRouteCall, _args: unknown[], param: IRouteParameter, req: express.Request, _res: express.Response, route: IRoute): Promise<{
8
8
  CallData: {
9
9
  Payload: {
10
10
  Param: {
@@ -1 +1 @@
1
- {"version":3,"file":"FromParams.d.ts","sourceRoot":"","sources":["../../../src/route-args/FromParams.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACtF,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAGnC,qBACa,UAAW,SAAQ,SAAS;IACvC,IAAW,aAAa,IAAI,aAAa,CAExC;IAEY,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM;;;;;;;;;;;;CA0B/H"}
1
+ {"version":3,"file":"FromParams.d.ts","sourceRoot":"","sources":["../../../src/route-args/FromParams.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACtF,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAGnC,qBACa,UAAW,SAAQ,SAAS;IACvC,IAAW,aAAa,IAAI,aAAa,CAExC;IAEY,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAC,KAAK,EAAG,OAAO,EAAG,EAAG,KAAK,EAAE,eAAe,EAAE,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM;;;;;;;;;;;;CA0BnJ"}
@@ -14,7 +14,7 @@ let FromParams = class FromParams extends RouteArgs_js_1.RouteArgs {
14
14
  get SupportedType() {
15
15
  return interfaces_js_1.ParameterType.FromParams;
16
16
  }
17
- async extract(callData, param, req, _res, route) {
17
+ async extract(callData, _args, param, req, _res, route) {
18
18
  ('');
19
19
  // some framework route-args functions use _ prefix to make linter happy
20
20
  // eg. orm-http uses include param for automatic inlude relations with @FromModel() decorator
@@ -1 +1 @@
1
- {"version":3,"file":"FromParams.js","sourceRoot":"","sources":["../../../src/route-args/FromParams.ts"],"names":[],"mappings":";;;;;;;;;AAAA,iDAA2C;AAC3C,oDAAsF;AAEtF,oCAAyC;AAGlC,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,wBAAS;IACvC,IAAW,aAAa;QACtB,OAAO,6BAAa,CAAC,UAAU,CAAC;IAClC,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,QAAoB,EAAE,KAAsB,EAAE,GAAoB,EAAE,IAAsB,EAAE,KAAa;QAC5H,CAAC,EAAE,CAAC,CAAC;QAEL,wEAAwE;QACxE,6FAA6F;QAC7F,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACzI,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAC5D,MAAM,GAAG,GAA2B,EAAE,CAAC;QACvC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QAEvB,OAAO;YACL,QAAQ,EAAE;gBACR,GAAG,QAAQ;gBAEX,2CAA2C;gBAC3C,OAAO,EAAE;oBACP,KAAK,EAAE;wBACL,IAAI,EAAE,GAAG;qBACV;iBACF;aACF;YAED,uBAAuB;YACvB,IAAI,EAAE,IAAI;SACX,CAAC;IACJ,CAAC;CACF,CAAA;AA/BY,gCAAU;qBAAV,UAAU;IADtB,IAAA,eAAU,GAAE;GACA,UAAU,CA+BtB"}
1
+ {"version":3,"file":"FromParams.js","sourceRoot":"","sources":["../../../src/route-args/FromParams.ts"],"names":[],"mappings":";;;;;;;;;AAAA,iDAA2C;AAC3C,oDAAsF;AAEtF,oCAAyC;AAGlC,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,wBAAS;IACvC,IAAW,aAAa;QACtB,OAAO,6BAAa,CAAC,UAAU,CAAC;IAClC,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,QAAoB,EAAC,KAAkB,EAAG,KAAsB,EAAE,GAAoB,EAAE,IAAsB,EAAE,KAAa;QAChJ,CAAC,EAAE,CAAC,CAAC;QAEL,wEAAwE;QACxE,6FAA6F;QAC7F,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACzI,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAC5D,MAAM,GAAG,GAA2B,EAAE,CAAC;QACvC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QAEvB,OAAO;YACL,QAAQ,EAAE;gBACR,GAAG,QAAQ;gBAEX,2CAA2C;gBAC3C,OAAO,EAAE;oBACP,KAAK,EAAE;wBACL,IAAI,EAAE,GAAG;qBACV;iBACF;aACF;YAED,uBAAuB;YACvB,IAAI,EAAE,IAAI;SACX,CAAC;IACJ,CAAC;CACF,CAAA;AA/BY,gCAAU;qBAAV,UAAU;IADtB,IAAA,eAAU,GAAE;GACA,UAAU,CA+BtB"}
@@ -4,7 +4,7 @@ import { IRouteParameter, ParameterType, IRouteCall, IRoute } from '../interface
4
4
  import * as express from 'express';
5
5
  export declare class FromQuery extends RouteArgs {
6
6
  get SupportedType(): ParameterType;
7
- extract(callData: IRouteCall, param: IRouteParameter, req: express.Request, _res: express.Response, route: IRoute): Promise<{
7
+ extract(callData: IRouteCall, _args: unknown[], param: IRouteParameter, req: express.Request, _res: express.Response, route: IRoute): Promise<{
8
8
  CallData: {
9
9
  Payload: {
10
10
  Query: {
@@ -1 +1 @@
1
- {"version":3,"file":"FromQuery.d.ts","sourceRoot":"","sources":["../../../src/route-args/FromQuery.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACtF,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAInC,qBACa,SAAU,SAAQ,SAAS;IACtC,IAAW,aAAa,IAAI,aAAa,CAExC;IAEY,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM;;;;;;;;;;;;CAyB/H"}
1
+ {"version":3,"file":"FromQuery.d.ts","sourceRoot":"","sources":["../../../src/route-args/FromQuery.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACtF,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAInC,qBACa,SAAU,SAAQ,SAAS;IACtC,IAAW,aAAa,IAAI,aAAa,CAExC;IAEY,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAC,KAAK,EAAG,OAAO,EAAG,EAAG,KAAK,EAAE,eAAe,EAAE,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM;;;;;;;;;;;;CAyBnJ"}
@@ -14,7 +14,7 @@ let FromQuery = class FromQuery extends RouteArgs_js_1.RouteArgs {
14
14
  get SupportedType() {
15
15
  return interfaces_js_1.ParameterType.FromQuery;
16
16
  }
17
- async extract(callData, param, req, _res, route) {
17
+ async extract(callData, _args, param, req, _res, route) {
18
18
  // some framework route-args functions use _ prefix to make linter happy
19
19
  // eg. orm-http uses include param for automatic inlude relations with @FromModel() decorator
20
20
  const qArg = req.query[param.Name] ?? (param.Name.startsWith('_') ? req.query[param.Name.substring(1, param.Name.length)] : undefined);
@@ -1 +1 @@
1
- {"version":3,"file":"FromQuery.js","sourceRoot":"","sources":["../../../src/route-args/FromQuery.ts"],"names":[],"mappings":";;;;;;;;;AAAA,iDAA2C;AAC3C,oDAAsF;AAEtF,oCAAyC;AAIlC,IAAM,SAAS,GAAf,MAAM,SAAU,SAAQ,wBAAS;IACtC,IAAW,aAAa;QACtB,OAAO,6BAAa,CAAC,SAAS,CAAC;IACjC,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,QAAoB,EAAE,KAAsB,EAAE,GAAoB,EAAE,IAAsB,EAAE,KAAa;QAC5H,wEAAwE;QACxE,6FAA6F;QAC7F,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACvI,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAC5D,MAAM,IAAI,GAA2B,EAAE,CAAC;QAExC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QAExB,OAAO;YACL,QAAQ,EAAE;gBACR,GAAG,QAAQ;gBAEX,2CAA2C;gBAC3C,OAAO,EAAE;oBACP,KAAK,EAAE;wBACL,IAAI,EAAE,IAAI;qBACX;iBACF;aACF;YAED,uBAAuB;YACvB,IAAI,EAAE,IAAI;SACX,CAAC;IACJ,CAAC;CACF,CAAA;AA9BY,8BAAS;oBAAT,SAAS;IADrB,IAAA,eAAU,GAAE;GACA,SAAS,CA8BrB"}
1
+ {"version":3,"file":"FromQuery.js","sourceRoot":"","sources":["../../../src/route-args/FromQuery.ts"],"names":[],"mappings":";;;;;;;;;AAAA,iDAA2C;AAC3C,oDAAsF;AAEtF,oCAAyC;AAIlC,IAAM,SAAS,GAAf,MAAM,SAAU,SAAQ,wBAAS;IACtC,IAAW,aAAa;QACtB,OAAO,6BAAa,CAAC,SAAS,CAAC;IACjC,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,QAAoB,EAAC,KAAkB,EAAG,KAAsB,EAAE,GAAoB,EAAE,IAAsB,EAAE,KAAa;QAChJ,wEAAwE;QACxE,6FAA6F;QAC7F,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACvI,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAC5D,MAAM,IAAI,GAA2B,EAAE,CAAC;QAExC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QAExB,OAAO;YACL,QAAQ,EAAE;gBACR,GAAG,QAAQ;gBAEX,2CAA2C;gBAC3C,OAAO,EAAE;oBACP,KAAK,EAAE;wBACL,IAAI,EAAE,IAAI;qBACX;iBACF;aACF;YAED,uBAAuB;YACvB,IAAI,EAAE,IAAI;SACX,CAAC;IACJ,CAAC;CACF,CAAA;AA9BY,8BAAS;oBAAT,SAAS;IADrB,IAAA,eAAU,GAAE;GACA,SAAS,CA8BrB"}
@@ -6,35 +6,35 @@ import { IRouteParameter, ParameterType, IRouteCall, IRoute, HttpAcceptHeaders }
6
6
  import * as express from 'express';
7
7
  export declare class BodyFieldRouteArgs extends RouteArgs {
8
8
  get SupportedType(): ParameterType;
9
- extract(callData: IRouteCall, _param: IRouteParameter, req: express.Request, _res: express.Response, _route: IRoute): Promise<{
9
+ extract(callData: IRouteCall, _args: unknown[], _param: IRouteParameter, req: express.Request, _res: express.Response, _route: IRoute): Promise<{
10
10
  CallData: IRouteCall;
11
11
  Args: any;
12
12
  }>;
13
13
  }
14
14
  export declare class RequestTypeRouteArgs extends RouteArgs {
15
15
  get SupportedType(): ParameterType;
16
- extract(callData: IRouteCall, _param: IRouteParameter, req: express.Request, _res: express.Response, _route: IRoute): Promise<{
16
+ extract(callData: IRouteCall, _args: unknown[], _param: IRouteParameter, req: express.Request, _res: express.Response, _route: IRoute): Promise<{
17
17
  CallData: IRouteCall;
18
18
  Args: HttpAcceptHeaders.JSON | HttpAcceptHeaders.HTML | HttpAcceptHeaders.IMAGE | HttpAcceptHeaders.PDF | HttpAcceptHeaders.OTHER;
19
19
  }>;
20
20
  }
21
21
  export declare class QueryFieldRouteArg extends RouteArgs {
22
22
  get SupportedType(): ParameterType;
23
- extract(callData: IRouteCall, _param: IRouteParameter, req: express.Request, _res: express.Response, _route: IRoute): Promise<{
23
+ extract(callData: IRouteCall, _args: unknown[], _param: IRouteParameter, req: express.Request, _res: express.Response, _route: IRoute): Promise<{
24
24
  CallData: IRouteCall;
25
25
  Args: import("qs").ParsedQs;
26
26
  }>;
27
27
  }
28
28
  export declare class HeadersFieldRouteArg extends RouteArgs {
29
29
  get SupportedType(): ParameterType;
30
- extract(callData: IRouteCall, _param: IRouteParameter, req: express.Request, _res: express.Response, _route: IRoute): Promise<{
30
+ extract(callData: IRouteCall, _args: unknown[], _param: IRouteParameter, req: express.Request, _res: express.Response, _route: IRoute): Promise<{
31
31
  CallData: IRouteCall;
32
32
  Args: import("http").IncomingHttpHeaders;
33
33
  }>;
34
34
  }
35
35
  export declare class ParamFieldRouteArg extends RouteArgs {
36
36
  get SupportedType(): ParameterType;
37
- extract(callData: IRouteCall, _param: IRouteParameter, req: express.Request, _res: express.Response, _route: IRoute): Promise<{
37
+ extract(callData: IRouteCall, _args: unknown[], _param: IRouteParameter, req: express.Request, _res: express.Response, _route: IRoute): Promise<{
38
38
  CallData: IRouteCall;
39
39
  Args: import("express-serve-static-core").ParamsDictionary;
40
40
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"RequestFields.d.ts","sourceRoot":"","sources":["../../../src/route-args/RequestFields.ts"],"names":[],"mappings":";;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACzG,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAInC,qBACa,kBAAmB,SAAQ,SAAS;IAC/C,IAAW,aAAa,IAAI,aAAa,CAExC;IAEY,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM;;;;CAMjI;AAED,qBACa,oBAAqB,SAAQ,SAAS;IACjD,IAAW,aAAa,IAAI,aAAa,CAExC;IAEY,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM;;;;CA+BjI;AAED,qBACa,kBAAmB,SAAQ,SAAS;IAC/C,IAAW,aAAa,IAAI,aAAa,CAExC;IAEY,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM;;;;CAMjI;AAED,qBACa,oBAAqB,SAAQ,SAAS;IACjD,IAAW,aAAa,IAAI,aAAa,CAExC;IAEY,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM;;;;CAMjI;AAED,qBACa,kBAAmB,SAAQ,SAAS;IAC/C,IAAW,aAAa,IAAI,aAAa,CAExC;IAEY,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM;;;;CAMjI"}
1
+ {"version":3,"file":"RequestFields.d.ts","sourceRoot":"","sources":["../../../src/route-args/RequestFields.ts"],"names":[],"mappings":";;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACzG,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAInC,qBACa,kBAAmB,SAAQ,SAAS;IAC/C,IAAW,aAAa,IAAI,aAAa,CAExC;IAEY,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAC,KAAK,EAAG,OAAO,EAAG,EAAG,MAAM,EAAE,eAAe,EAAE,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM;;;;CAMrJ;AAED,qBACa,oBAAqB,SAAQ,SAAS;IACjD,IAAW,aAAa,IAAI,aAAa,CAExC;IAEY,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAC,KAAK,EAAG,OAAO,EAAG,EAAG,MAAM,EAAE,eAAe,EAAE,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM;;;;CA+BrJ;AAED,qBACa,kBAAmB,SAAQ,SAAS;IAC/C,IAAW,aAAa,IAAI,aAAa,CAExC;IAEY,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAG,OAAO,EAAG,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM;;;;CAMrJ;AAED,qBACa,oBAAqB,SAAQ,SAAS;IACjD,IAAW,aAAa,IAAI,aAAa,CAExC;IAEY,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAC,KAAK,EAAG,OAAO,EAAG,EAAG,MAAM,EAAE,eAAe,EAAE,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM;;;;CAMrJ;AAED,qBACa,kBAAmB,SAAQ,SAAS;IAC/C,IAAW,aAAa,IAAI,aAAa,CAExC;IAEY,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAG,OAAO,EAAG,EAAG,MAAM,EAAE,eAAe,EAAE,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM;;;;CAMtJ"}
@@ -14,7 +14,7 @@ let BodyFieldRouteArgs = class BodyFieldRouteArgs extends RouteArgs_js_1.RouteAr
14
14
  get SupportedType() {
15
15
  return interfaces_js_1.ParameterType.BodyField;
16
16
  }
17
- async extract(callData, _param, req, _res, _route) {
17
+ async extract(callData, _args, _param, req, _res, _route) {
18
18
  return {
19
19
  CallData: callData,
20
20
  Args: req.body,
@@ -29,7 +29,7 @@ let RequestTypeRouteArgs = class RequestTypeRouteArgs extends RouteArgs_js_1.Rou
29
29
  get SupportedType() {
30
30
  return interfaces_js_1.ParameterType.Other;
31
31
  }
32
- async extract(callData, _param, req, _res, _route) {
32
+ async extract(callData, _args, _param, req, _res, _route) {
33
33
  let acceptHeader = interfaces_js_1.HttpAcceptHeaders.ALL;
34
34
  switch (req.headers.accept.toLowerCase()) {
35
35
  case 'text/*':
@@ -67,7 +67,7 @@ let QueryFieldRouteArg = class QueryFieldRouteArg extends RouteArgs_js_1.RouteAr
67
67
  get SupportedType() {
68
68
  return interfaces_js_1.ParameterType.QueryField;
69
69
  }
70
- async extract(callData, _param, req, _res, _route) {
70
+ async extract(callData, _args, _param, req, _res, _route) {
71
71
  return {
72
72
  CallData: callData,
73
73
  Args: req.query,
@@ -82,7 +82,7 @@ let HeadersFieldRouteArg = class HeadersFieldRouteArg extends RouteArgs_js_1.Rou
82
82
  get SupportedType() {
83
83
  return interfaces_js_1.ParameterType.Headers;
84
84
  }
85
- async extract(callData, _param, req, _res, _route) {
85
+ async extract(callData, _args, _param, req, _res, _route) {
86
86
  return {
87
87
  CallData: callData,
88
88
  Args: req.headers,
@@ -97,7 +97,7 @@ let ParamFieldRouteArg = class ParamFieldRouteArg extends RouteArgs_js_1.RouteAr
97
97
  get SupportedType() {
98
98
  return interfaces_js_1.ParameterType.ParamField;
99
99
  }
100
- async extract(callData, _param, req, _res, _route) {
100
+ async extract(callData, _args, _param, req, _res, _route) {
101
101
  return {
102
102
  CallData: callData,
103
103
  Args: req.params,
@@ -1 +1 @@
1
- {"version":3,"file":"RequestFields.js","sourceRoot":"","sources":["../../../src/route-args/RequestFields.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RequestFields.js","sourceRoot":"","sources":["../../../src/route-args/RequestFields.ts"],"names":[],"mappings":";;;;;;;;;AAAA,iDAA2C;AAC3C,oDAAyG;AAEzG,oCAAyC;AAIlC,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,wBAAS;IAC/C,IAAW,aAAa;QACtB,OAAO,6BAAa,CAAC,SAAS,CAAC;IACjC,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,QAAoB,EAAC,KAAkB,EAAG,MAAuB,EAAE,GAAoB,EAAE,IAAsB,EAAE,MAAc;QAClJ,OAAO;YACL,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE,GAAG,CAAC,IAAI;SACf,CAAC;IACJ,CAAC;CACF,CAAA;AAXY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,eAAU,GAAE;GACA,kBAAkB,CAW9B;AAGM,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,wBAAS;IACjD,IAAW,aAAa;QACtB,OAAO,6BAAa,CAAC,KAAK,CAAC;IAC7B,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,QAAoB,EAAC,KAAkB,EAAG,MAAuB,EAAE,GAAoB,EAAE,IAAsB,EAAE,MAAc;QAClJ,IAAI,YAAY,GAAG,iCAAiB,CAAC,GAAG,CAAC;QAEzC,QAAQ,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;YACzC,KAAK,QAAQ,CAAC;YACd,KAAK,WAAW;gBACd,YAAY,GAAG,iCAAiB,CAAC,IAAI,CAAC;gBACtC,MAAM;YACR,KAAK,YAAY;gBACf,YAAY,GAAG,iCAAiB,CAAC,IAAI,CAAC;YACxC,KAAK,WAAW,CAAC;YACjB,KAAK,YAAY,CAAC;YAClB,KAAK,SAAS;gBACZ,YAAY,GAAG,iCAAiB,CAAC,KAAK,CAAC;gBACvC,MAAM;YACR,KAAK,iBAAiB;gBACpB,YAAY,GAAG,iCAAiB,CAAC,GAAG,CAAC;gBACrC,MAAM;YACR,KAAK,kBAAkB;gBACrB,YAAY,GAAG,iCAAiB,CAAC,IAAI,CAAC;gBACtC,MAAM;YACR;gBACE,YAAY,GAAG,iCAAiB,CAAC,KAAK,CAAC;gBACvC,MAAM;QACV,CAAC;QAED,OAAO;YACL,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE,YAAY;SACnB,CAAC;IACJ,CAAC;CACF,CAAA;AApCY,oDAAoB;+BAApB,oBAAoB;IADhC,IAAA,eAAU,GAAE;GACA,oBAAoB,CAoChC;AAGM,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,wBAAS;IAC/C,IAAW,aAAa;QACtB,OAAO,6BAAa,CAAC,UAAU,CAAC;IAClC,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,QAAoB,EAAE,KAAkB,EAAE,MAAuB,EAAE,GAAoB,EAAE,IAAsB,EAAE,MAAc;QAClJ,OAAO;YACL,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE,GAAG,CAAC,KAAK;SAChB,CAAC;IACJ,CAAC;CACF,CAAA;AAXY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,eAAU,GAAE;GACA,kBAAkB,CAW9B;AAGM,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,wBAAS;IACjD,IAAW,aAAa;QACtB,OAAO,6BAAa,CAAC,OAAO,CAAC;IAC/B,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,QAAoB,EAAC,KAAkB,EAAG,MAAuB,EAAE,GAAoB,EAAE,IAAsB,EAAE,MAAc;QAClJ,OAAO;YACL,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE,GAAG,CAAC,OAAO;SAClB,CAAC;IACJ,CAAC;CACF,CAAA;AAXY,oDAAoB;+BAApB,oBAAoB;IADhC,IAAA,eAAU,GAAE;GACA,oBAAoB,CAWhC;AAGM,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,wBAAS;IAC/C,IAAW,aAAa;QACtB,OAAO,6BAAa,CAAC,UAAU,CAAC;IAClC,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,QAAoB,EAAE,KAAkB,EAAG,MAAuB,EAAE,GAAoB,EAAE,IAAsB,EAAE,MAAc;QACnJ,OAAO;YACL,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE,GAAG,CAAC,MAAM;SACjB,CAAC;IACJ,CAAC;CACF,CAAA;AAXY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,eAAU,GAAE;GACA,kBAAkB,CAW9B"}
@@ -7,12 +7,12 @@ export interface IRouteArgsResult {
7
7
  }
8
8
  export interface IRouteArgs {
9
9
  SupportedType: ParameterType | string;
10
- extract(callData: IRouteCall, routeParameter: IRouteParameter, req: Request, res: express.Response, route?: IRoute): Promise<IRouteArgsResult>;
10
+ extract(callData: IRouteCall, callArgs: unknown[], routeParameter: IRouteParameter, req: Request, res: express.Response, route?: IRoute): Promise<IRouteArgsResult>;
11
11
  }
12
12
  export declare abstract class RouteArgs implements IRouteArgs {
13
13
  protected Validator: DataValidator;
14
14
  abstract get SupportedType(): ParameterType | string;
15
- abstract extract(callData: IRouteCall, routeParameter: IRouteParameter, req: Request, res: express.Response, route?: IRoute): Promise<IRouteArgsResult>;
15
+ abstract extract(callData: IRouteCall, callArgs: unknown[], routeParameter: IRouteParameter, req: Request, res: express.Response, route?: IRoute): Promise<IRouteArgsResult>;
16
16
  protected tryHydrateParam(arg: any, routeParameter: IRouteParameter, route: IRoute): Promise<any>;
17
17
  protected tryHydrateObject(arg: any, route: IRouteParameter, hydrator: any): Promise<any>;
18
18
  protected getHydrator(param: IRouteParameter): any;
@@ -1 +1 @@
1
- {"version":3,"file":"RouteArgs.d.ts","sourceRoot":"","sources":["../../../src/route-args/RouteArgs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACjG,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAGnC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGpD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,UAAU,CAAC;IACrB,IAAI,EAAE,GAAG,CAAC;CACX;AAED,MAAM,WAAW,UAAU;IACzB,aAAa,EAAE,aAAa,GAAG,MAAM,CAAC;IAEtC,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,eAAe,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAChJ;AAED,8BAAsB,SAAU,YAAW,UAAU;IAEnD,SAAS,CAAC,SAAS,EAAE,aAAa,CAAC;IAEnC,QAAQ,KAAK,aAAa,IAAI,aAAa,GAAG,MAAM,CAAC;aAErC,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,eAAe,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;cAE9I,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,cAAc,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM;cAsCxE,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,GAAG;IAKhF,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,eAAe;IAW5C,SAAS,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,eAAe;IAuB3D,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,eAAe;IAI9C,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,eAAe,EAAE,GAAG,EAAE,GAAG;CAoB3D"}
1
+ {"version":3,"file":"RouteArgs.d.ts","sourceRoot":"","sources":["../../../src/route-args/RouteArgs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACjG,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAGnC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGpD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,UAAU,CAAC;IACrB,IAAI,EAAE,GAAG,CAAC;CACX;AAED,MAAM,WAAW,UAAU;IACzB,aAAa,EAAE,aAAa,GAAG,MAAM,CAAC;IAEtC,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,eAAe,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;CACrK;AAED,8BAAsB,SAAU,YAAW,UAAU;IAEnD,SAAS,CAAC,SAAS,EAAE,aAAa,CAAC;IAEnC,QAAQ,KAAK,aAAa,IAAI,aAAa,GAAG,MAAM,CAAC;aAErC,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,eAAe,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;cAEnK,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,cAAc,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM;cAsCxE,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,GAAG;IAKhF,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,eAAe;IAW5C,SAAS,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,eAAe;IAuB3D,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,eAAe;IAI9C,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,eAAe,EAAE,GAAG,EAAE,GAAG;CAoB3D"}
@@ -55,13 +55,5 @@ export declare class HttpServer extends AsyncService {
55
55
  * @param middleware - middleware function
56
56
  */
57
57
  use(middleware: RequestHandler): void;
58
- /**
59
- * Executes response
60
- */
61
- protected handleResponse(): void;
62
- /**
63
- * Handles thrown exceptions in actions.
64
- */
65
- protected handleErrors(): void;
66
58
  }
67
59
  //# sourceMappingURL=server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAA8D,MAAM,aAAa,CAAC;AACnH,OAAO,EAAU,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAU,GAAG,EAAE,MAAM,cAAc,CAAC;AAI3C,OAAO,wBAAwB,CAAC;AAEhC,OAAO,EAAE,MAAM,IAAI,IAAI,EAAoC,MAAM,MAAM,CAAC;AACxE,OAAO,EAAE,MAAM,IAAI,KAAK,EAAqC,MAAM,OAAO,CAAC;AAI3E,OAAO,OAAO,EAAE,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAIlD,OAAO,EAAE,gBAAgB,EAAyD,wBAAwB,EAA4B,MAAM,iBAAiB,CAAC;AAE9J,OAAO,yBAAyB,CAAC;AACjC,OAAO,+BAA+B,CAAC;AACvC,OAAO,4BAA4B,CAAC;AACpC,OAAO,yBAAyB,CAAC;AACjC,OAAO,6BAA6B,CAAC;AAErC,qBAEa,UAAW,SAAQ,YAAY;IAE1C,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC;IAGvC,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC;IAGhC,SAAS,CAAC,WAAW,EAAE,gBAAgB,EAAE,CAAC;IAG1C,SAAS,CAAC,UAAU,EAAE,wBAAwB,CAAC;IAG/C,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC;IAKhC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;IAEnC;;OAEG;IACH,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC;IAC5B,SAAS,CAAC,YAAY,EAAE,KAAK,CAAC;IAE9B,IAAW,MAAM,IAAI,IAAI,GAAG,KAAK,CAEhC;IAED;;OAEG;IAEH,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;;IAMN,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAwDrC;;OAEG;IACH,OAAO,CAAC,aAAa;IAuBrB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAc1B;;OAEG;IACI,KAAK;IA2BL,IAAI;IAMX;;;;OAIG;IACI,GAAG,CAAC,UAAU,EAAE,cAAc,GAAG,IAAI;IAI5C;;OAEG;IACH,SAAS,CAAC,cAAc;IA2BxB;;OAEG;IACH,SAAS,CAAC,YAAY;CAiEvB"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAiD,MAAM,aAAa,CAAC;AACtG,OAAO,EAAU,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAU,GAAG,EAAE,MAAM,cAAc,CAAC;AAG3C,OAAO,wBAAwB,CAAC;AAEhC,OAAO,EAAE,MAAM,IAAI,IAAI,EAAoC,MAAM,MAAM,CAAC;AACxE,OAAO,EAAE,MAAM,IAAI,KAAK,EAAqC,MAAM,OAAO,CAAC;AAG3E,OAAO,OAAO,EAAE,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAIlD,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,yBAAyB,CAAC;AACjC,OAAO,+BAA+B,CAAC;AACvC,OAAO,4BAA4B,CAAC;AACpC,OAAO,yBAAyB,CAAC;AACjC,OAAO,6BAA6B,CAAC;AAErC,qBAEa,UAAW,SAAQ,YAAY;IAE1C,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC;IAGvC,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC;IAGhC,SAAS,CAAC,WAAW,EAAE,gBAAgB,EAAE,CAAC;IAG1C,SAAS,CAAC,UAAU,EAAE,wBAAwB,CAAC;IAG/C,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC;IAKhC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;IAEnC;;OAEG;IACH,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC;IAC5B,SAAS,CAAC,YAAY,EAAE,KAAK,CAAC;IAE9B,IAAW,MAAM,IAAI,IAAI,GAAG,KAAK,CAEhC;IAED;;OAEG;IAEH,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;;IAMN,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAwDrC;;OAEG;IACH,OAAO,CAAC,aAAa;IAuBrB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAc1B;;OAEG;IACI,KAAK;IAwBL,IAAI;IAMX;;;;OAIG;IACI,GAAG,CAAC,UAAU,EAAE,cAAc,GAAG,IAAI;CAG7C"}
package/lib/cjs/server.js CHANGED
@@ -16,19 +16,16 @@ exports.HttpServer = void 0;
16
16
  const di_1 = require("@spinajs/di");
17
17
  const configuration_1 = require("@spinajs/configuration");
18
18
  const log_1 = require("@spinajs/log");
19
- const exceptions_1 = require("@spinajs/exceptions");
20
19
  const templates_1 = require("@spinajs/templates");
21
20
  require("@spinajs/templates-pug");
22
21
  const http_1 = require("http");
23
22
  const https_1 = require("https");
24
23
  const fs_1 = require("fs");
25
24
  const cors_1 = __importDefault(require("cors"));
26
- const randomstring_1 = __importDefault(require("randomstring"));
27
25
  const express_1 = __importDefault(require("express"));
28
26
  const lodash_1 = __importDefault(require("lodash"));
29
27
  const fs_2 = __importDefault(require("fs"));
30
28
  const interfaces_js_1 = require("./interfaces.js");
31
- const index_js_1 = require("./response-methods/index.js");
32
29
  require("./transformers/index.js");
33
30
  require("./middlewares/ResponseTime.js");
34
31
  require("./middlewares/RequestId.js");
@@ -130,8 +127,6 @@ let HttpServer = class HttpServer extends di_1.AsyncService {
130
127
  */
131
128
  start() {
132
129
  return new Promise((res, rej) => {
133
- this.handleResponse();
134
- this.handleErrors();
135
130
  // add all middlewares to execute after
136
131
  this.Middlewares.reverse().forEach((m) => {
137
132
  const f = m.after();
@@ -164,92 +159,6 @@ let HttpServer = class HttpServer extends di_1.AsyncService {
164
159
  use(middleware) {
165
160
  this.Express.use(middleware);
166
161
  }
167
- /**
168
- * Executes response
169
- */
170
- handleResponse() {
171
- const wrapper = (req, res, next) => {
172
- if (!res.locals.response) {
173
- next(new exceptions_1.ResourceNotFound(`Resource not found ${req.method}:${req.originalUrl}`));
174
- return;
175
- }
176
- res.locals.response
177
- .execute(req, res)
178
- .then((callback) => {
179
- if (callback) {
180
- return callback(req, res);
181
- }
182
- })
183
- .catch((err) => {
184
- next(err);
185
- });
186
- };
187
- Object.defineProperty(wrapper, 'name', {
188
- value: 'handleResponse',
189
- writable: true,
190
- });
191
- this.Express.use(wrapper);
192
- }
193
- /**
194
- * Handles thrown exceptions in actions.
195
- */
196
- handleErrors() {
197
- const wrapper = (err, req, res, next) => {
198
- if (!err) {
199
- return next();
200
- }
201
- this.Log.error(err, `Route error: ${err}, stack: ${err.stack}`);
202
- const error = {
203
- /**
204
- * By default Error object dont copy values like message ( they are not enumerable )
205
- * It only copies custom props added to Error ( via inheritance )
206
- */
207
- ...err,
208
- // make sure error message is added
209
- message: err.message,
210
- stack: {},
211
- };
212
- // in dev mode add stack trace for debugging
213
- if (this.AppEnv === 'development') {
214
- error.stack = err.stack ? err.stack : err.parameter && err.parameter.stack;
215
- }
216
- let response = null;
217
- const rMap = di_1.DI.get('__http_error_map__');
218
- if (rMap.has(err.constructor.name)) {
219
- const httpResponse = rMap.get(err.constructor.name);
220
- response = new httpResponse(error);
221
- }
222
- else {
223
- this.Log.warn(`Error type ${error.constructor} dont have assigned http response. Map error to response via _http_error_map__ in DI container`);
224
- response = new index_js_1.ServerError(error);
225
- }
226
- response
227
- .execute(req, res)
228
- .then((callback) => {
229
- if (callback) {
230
- callback(req, res);
231
- }
232
- })
233
- .catch((err) => {
234
- // last resort error handling
235
- this.Log.fatal(err, `Cannot send error response`);
236
- res.status(interfaces_js_1.HTTP_STATUS_CODE.INTERNAL_ERROR);
237
- if (req.accepts('html') && (this.HttpConfig.AcceptHeaders & interfaces_js_1.HttpAcceptHeaders.HTML) === interfaces_js_1.HttpAcceptHeaders.HTML) {
238
- // final fallback rendering error fails, we render embedded html error page
239
- const ticketNo = randomstring_1.default.generate(7);
240
- res.send(this.HttpConfig.FatalTemplate.replace('{ticket}', ticketNo));
241
- }
242
- else {
243
- res.json(error);
244
- }
245
- });
246
- };
247
- Object.defineProperty(wrapper, 'name', {
248
- value: 'handleError',
249
- writable: true,
250
- });
251
- this.Express.use(wrapper);
252
- }
253
162
  };
254
163
  exports.HttpServer = HttpServer;
255
164
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,oCAAsG;AACtG,0DAA+D;AAC/D,sCAA2C;AAE3C,kDAA+C;AAC/C,kCAAgC;AAEhC,+BAAwE;AACxE,iCAA2E;AAC3E,2BAAgC;AAChC,gDAAwB;AACxB,sDAAkD;AAClD,oDAAuB;AACvB,4CAAoB;AAEpB,mDAA6E;AAC7E,mCAAiC;AACjC,yCAAuC;AACvC,sCAAoC;AACpC,mCAAiC;AACjC,uCAAqC;AAI9B,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,iBAAY;IAgC1C,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;IAClE,CAAC;IAQD;QACE,KAAK,EAAE,CAAC;IACV,CAAC;IAEM,KAAK,CAAC,OAAO;QAClB,IAAI,CAAC,OAAO,GAAG,IAAA,iBAAO,GAAE,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAChD,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,MAAM,CAAC,GAAG,OAAE,CAAC,OAAO,CAA4B,mBAAmB,EAAE,CAAC,gCAAgC,CAAC,CAAC,CAAC;QACzG,IAAI,CAAC,CAAC,EAAE,CAAC;YACP,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,yGAAyG,CAAC,CAAC;QAC3H,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACxC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;YAC3E,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACd,CAAC,CAAC,CAAC;QAEH;;WAEG;QAEH,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAM,WAAW,EAAE,SAAS,CAAC,CAAC;QACrE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,yGAAyG,CAAC,CAAC;QAC3H,CAAC;aAAM,CAAC;YACN,MAAM,WAAW,GAAG;gBAClB,MAAM,CAAC,MAAW,EAAE,QAAa;oBAC/B,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;wBAC1F,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;oBACvB,CAAC;yBAAM,CAAC;wBACN,QAAQ,CAAC,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC;oBAC1C,CAAC;gBACH,CAAC;gBACD,cAAc,EAAE,QAAQ,CAAC,cAAc;gBACvC,cAAc,EAAE,QAAQ,CAAC,cAAc;gBACvC,WAAW,EAAE,IAAI;aAClB,CAAC;YAEF,IAAI,CAAC,GAAG,CAAC,IAAA,cAAI,EAAC,WAAW,CAAC,CAAC,CAAC;QAC9B,CAAC;QAED,oCAAoC;QACpC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YAC7B,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;YACrB,IAAI,CAAC,EAAE,CAAC;gBACN,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC3E,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACd,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAED;;OAEG;IACK,aAAa;QACnB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,wBAAwB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;YACjE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,yBAAyB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;YAEnE,MAAM,GAAG,GAAG,YAAE,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACrD,MAAM,IAAI,GAAG,YAAE,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAEvD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAEjC,IAAI,CAAC,YAAY,GAAG,IAAA,oBAAiB,EACnC;gBACE,GAAG,EAAE,GAAG;gBACR,IAAI,EAAE,IAAI;aACX,EACD,IAAI,CAAC,OAAO,CACb,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAChC,IAAI,CAAC,WAAW,GAAG,IAAA,mBAAgB,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED;;OAEG;IACK,kBAAkB;QACxB,gBAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YAC3C,IAAI,CAAC,IAAA,eAAU,EAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC;gBACvD,OAAO;YACT,CAAC;YAED,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,SAAS,CAAC;YAEpC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC,IAAI,aAAa,MAAM,EAAE,CAAC,CAAC;YAC3E,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,iBAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACI,KAAK;QACV,OAAO,IAAI,OAAO,CAAO,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACpC,uCAAuC;YACvC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBACvC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;gBACpB,IAAI,CAAC,EAAE,CAAC;oBACN,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC1E,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACd,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE;gBAC5C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,0BAA0B,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;gBAChE,GAAG,EAAE,CAAC;YACR,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAQ,EAAE,EAAE;gBAC1B,IAAI,GAAG,CAAC,KAAK,KAAK,YAAY,EAAE,CAAC;oBAC/B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,IAAI,CAAC,UAAU,CAAC,IAAI,gBAAgB,CAAC,CAAC;gBACrE,CAAC;gBAED,GAAG,CAAC,GAAG,CAAC,CAAC;YACX,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,IAAI;QACT,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACtB,CAAC;IACH,CAAC;IAED;;;;OAIG;IACI,GAAG,CAAC,UAA0B;QACnC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC/B,CAAC;CACF,CAAA;AA1LY,gCAAU;AAEX;IADT,IAAA,eAAU,EAAC,6BAAa,CAAC;8BACD,6BAAa;iDAAC;AAG7B;IADT,IAAA,eAAU,EAAC,cAAS,CAAC;;6CACU;AAGtB;IADT,IAAA,eAAU,EAAC,gCAAgB,CAAC;;+CACa;AAGhC;IADT,IAAA,sBAAM,EAAC,MAAM,CAAC;;8CACgC;AAGrC;IADT,IAAA,sBAAM,EAAC,OAAO,CAAC;;gDACgB;AAKtB;IAHT,IAAA,sBAAM,EAAC,qBAAqB,EAAE;QAC7B,YAAY,EAAE,aAAa;KAC5B,CAAC;;0CACuB;AAqBf;IADT,IAAA,YAAM,EAAC,MAAM,CAAC;8BACA,SAAG;uCAAC;qBAxCR,UAAU;IAFtB,IAAA,eAAU,GAAE;IACZ,IAAA,WAAM,EAAC,qBAAS,CAAC;;GACL,UAAU,CA0LtB"}
@@ -1,19 +1,19 @@
1
1
  /// <reference types="node" resolution-mode="require"/>
2
2
  import { AsyncLocalStorage } from 'node:async_hooks';
3
- import * as express from 'express';
3
+ import Express from 'express';
4
4
  import { AsyncService, IContainer, ClassInfo } from '@spinajs/di';
5
5
  import { Log } from '@spinajs/log';
6
6
  import { DataValidator } from '@spinajs/validation';
7
7
  import { Configuration } from '@spinajs/configuration';
8
8
  import { HttpServer } from './server.js';
9
- import { IController, IControllerDescriptor, IActionLocalStoregeContext } from './interfaces.js';
9
+ import { Response, IController, IControllerDescriptor, IActionLocalStoregeContext, Request } from './interfaces.js';
10
10
  import { DefaultControllerCache } from './cache.js';
11
11
  export declare abstract class BaseController extends AsyncService implements IController {
12
12
  /**
13
13
  * Array index getter
14
14
  */
15
15
  [action: string]: any;
16
- protected _router: express.Router;
16
+ protected _router: Express.Router;
17
17
  protected _container: IContainer;
18
18
  protected _validator: DataValidator;
19
19
  protected _log: Log;
@@ -22,7 +22,7 @@ export declare abstract class BaseController extends AsyncService implements ICo
22
22
  /**
23
23
  * Express router with middleware stack
24
24
  */
25
- get Router(): express.Router;
25
+ get Router(): Express.Router;
26
26
  /**
27
27
  * Controller descriptor
28
28
  */
@@ -33,6 +33,8 @@ export declare abstract class BaseController extends AsyncService implements ICo
33
33
  * It can be defined via `@BasePath` decorator, defaults to controller name without `Controller` part.
34
34
  */
35
35
  get BasePath(): string;
36
+ protected __handle_response__(): (req: Express.Request, res: Express.Response, next: Express.NextFunction) => void;
37
+ protected __handle_error__(): (err: any, req: Express.Request, res: Express.Response, next: Express.NextFunction) => void;
36
38
  resolve(): Promise<void>;
37
39
  }
38
40
  export declare class Controllers extends AsyncService {
@@ -1 +1 @@
1
- {"version":3,"file":"controllers.d.ts","sourceRoot":"","sources":["../../src/controllers.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAKrD,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAGnC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAkB,SAAS,EAAa,MAAM,aAAa,CAAC;AAG7F,OAAO,EAAU,GAAG,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAiC,WAAW,EAAE,qBAAqB,EAAgG,0BAA0B,EAAW,MAAM,iBAAiB,CAAC;AAGvO,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEpD,8BAAsB,cAAe,SAAQ,YAAa,YAAW,WAAW;IAC9E;;OAEG;IACH,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC;IAEtB,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC;IAGlC,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC;IAGjC,SAAS,CAAC,UAAU,EAAE,aAAa,CAAC;IAGpC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC;IAGpB,SAAS,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,0BAA0B,CAAC,CAAC;IAG7E,SAAS,CAAC,IAAI,EAAE,aAAa,CAAC;IAE9B;;OAEG;IACH,IAAW,MAAM,IAAI,OAAO,CAAC,MAAM,CAElC;IAED;;OAEG;IACH,IAAW,UAAU,IAAI,qBAAqB,CAE7C;IAED;;;;OAIG;IACH,IAAW,QAAQ,IAAI,MAAM,CAE5B;IAEY,OAAO;CA6LrB;AAED,qBAAa,WAAY,SAAQ,YAAY;IAC3C;;OAEG;IAEI,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAG9D,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IAGnB,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC;IAGhC,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC;IAG7B,SAAS,CAAC,gBAAgB,EAAE,sBAAsB,CAAC;IAEtC,gBAAgB,CAAC,IAAI,EAAE,MAAM;IAmB7B,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,cAAc,CAAC;IA0B9C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAMtC"}
1
+ {"version":3,"file":"controllers.d.ts","sourceRoot":"","sources":["../../src/controllers.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAKrD,OAAO,OAAO,MAAM,SAAS,CAAC;AAI9B,OAAO,EAAE,YAAY,EAAE,UAAU,EAAkB,SAAS,EAA0B,MAAM,aAAa,CAAC;AAG1G,OAAO,EAAU,GAAG,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAuB,QAAQ,EAAE,WAAW,EAAE,qBAAqB,EAAgG,0BAA0B,EAAE,OAAO,EAAmF,MAAM,iBAAiB,CAAC;AAGxT,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAMpD,8BAAsB,cAAe,SAAQ,YAAa,YAAW,WAAW;IAC9E;;OAEG;IACH,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC;IAEtB,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC;IAGlC,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC;IAGjC,SAAS,CAAC,UAAU,EAAE,aAAa,CAAC;IAGpC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC;IAGpB,SAAS,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,0BAA0B,CAAC,CAAC;IAG7E,SAAS,CAAC,IAAI,EAAE,aAAa,CAAC;IAE9B;;OAEG;IACH,IAAW,MAAM,IAAI,OAAO,CAAC,MAAM,CAElC;IAED;;OAEG;IACH,IAAW,UAAU,IAAI,qBAAqB,CAE7C;IAED;;;;OAIG;IACH,IAAW,QAAQ,IAAI,MAAM,CAE5B;IAED,SAAS,CAAC,mBAAmB,UACd,eAAe,OAAO,gBAAgB,QAAQ,QAAQ,YAAY;IAmBjF,SAAS,CAAC,gBAAgB,UACX,GAAG,OAAO,eAAe,OAAO,gBAAgB,QAAQ,QAAQ,YAAY;IA0D9E,OAAO;CAiMrB;AAED,qBAAa,WAAY,SAAQ,YAAY;IAC3C;;OAEG;IAEI,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAG9D,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IAGnB,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC;IAGhC,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC;IAG7B,SAAS,CAAC,gBAAgB,EAAE,sBAAsB,CAAC;IAEtC,gBAAgB,CAAC,IAAI,EAAE,MAAM;IAmB7B,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,cAAc,CAAC;IA0B9C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAMtC"}
@@ -11,19 +11,21 @@ import { AsyncLocalStorage } from 'node:async_hooks';
11
11
  import { isPromise } from 'node:util/types';
12
12
  import { basename } from 'node:path';
13
13
  import * as fs from 'node:fs';
14
- import * as express from 'express';
14
+ import Express from 'express';
15
15
  import _ from 'lodash';
16
16
  import { AsyncService, Autoinject, DI, ClassInfo, Container } from '@spinajs/di';
17
- import { UnexpectedServerError, IOFail } from '@spinajs/exceptions';
17
+ import { UnexpectedServerError, IOFail, ResourceNotFound } from '@spinajs/exceptions';
18
18
  import { ResolveFromFiles } from '@spinajs/reflection';
19
19
  import { Logger, Log } from '@spinajs/log';
20
20
  import { DataValidator } from '@spinajs/validation';
21
21
  import { Configuration } from '@spinajs/configuration';
22
22
  import { HttpServer } from './server.js';
23
- import { Response, BasePolicy } from './interfaces.js';
23
+ import { Response, BasePolicy, HTTP_STATUS_CODE, HttpAcceptHeaders } from './interfaces.js';
24
24
  import { CONTROLLED_DESCRIPTOR_SYMBOL } from './decorators.js';
25
25
  import { tryGetHash } from '@spinajs/util';
26
26
  import { DefaultControllerCache } from './cache.js';
27
+ import { ServerError } from './response-methods/serverError.js';
28
+ import randomstring from 'randomstring';
27
29
  export class BaseController extends AsyncService {
28
30
  /**
29
31
  * Express router with middleware stack
@@ -45,13 +47,84 @@ export class BaseController extends AsyncService {
45
47
  get BasePath() {
46
48
  return this.Descriptor.BasePath ? this.Descriptor.BasePath : this.constructor.name.toLowerCase();
47
49
  }
50
+ __handle_response__() {
51
+ return (req, res, next) => {
52
+ if (!res.locals.response) {
53
+ next(new ResourceNotFound(`Resource not found ${req.method}:${req.originalUrl}`));
54
+ return;
55
+ }
56
+ res.locals.response
57
+ .execute(req, res)
58
+ .then((callback) => {
59
+ if (callback) {
60
+ return callback(req, res);
61
+ }
62
+ })
63
+ .catch((err) => {
64
+ next(err);
65
+ });
66
+ };
67
+ }
68
+ __handle_error__() {
69
+ return (err, req, res, next) => {
70
+ if (!err) {
71
+ return next();
72
+ }
73
+ this._log.error(err, `Route error: ${err}, stack: ${err.stack}`);
74
+ const error = {
75
+ /**
76
+ * By default Error object dont copy values like message ( they are not enumerable )
77
+ * It only copies custom props added to Error ( via inheritance )
78
+ */
79
+ ...err,
80
+ // make sure error message is added
81
+ message: err.message,
82
+ stack: {},
83
+ };
84
+ // in dev mode add stack trace for debugging
85
+ if (this.AppEnv === 'development') {
86
+ error.stack = err.stack ? err.stack : err.parameter && err.parameter.stack;
87
+ }
88
+ let response = null;
89
+ const rMap = DI.get('__http_error_map__');
90
+ if (rMap.has(err.constructor.name)) {
91
+ const httpResponse = rMap.get(err.constructor.name);
92
+ response = new httpResponse(error);
93
+ }
94
+ else {
95
+ this._log.warn(`Error type ${error.constructor} dont have assigned http response. Map error to response via _http_error_map__ in DI container`);
96
+ response = new ServerError(error);
97
+ }
98
+ response
99
+ .execute(req, res)
100
+ .then((callback) => {
101
+ if (callback) {
102
+ callback(req, res);
103
+ }
104
+ })
105
+ .catch((err) => {
106
+ // last resort error handling
107
+ this._log.fatal(err, `Cannot send error response`);
108
+ res.status(HTTP_STATUS_CODE.INTERNAL_ERROR);
109
+ if (req.accepts('html') && (this.HttpConfig.AcceptHeaders & HttpAcceptHeaders.HTML) === HttpAcceptHeaders.HTML) {
110
+ // final fallback rendering error fails, we render embedded html error page
111
+ const ticketNo = randomstring.generate(7);
112
+ res.send(this.HttpConfig.FatalTemplate.replace('{ticket}', ticketNo));
113
+ }
114
+ else {
115
+ res.json(error);
116
+ }
117
+ });
118
+ };
119
+ }
120
+ ;
48
121
  async resolve() {
49
122
  const self = this;
50
123
  if (!this.Descriptor) {
51
124
  this._log.warn(`Controller ${this.constructor.name} does not have descriptor. It its abstract or base class ignore this message.`);
52
125
  return;
53
126
  }
54
- this._router = express.Router();
127
+ this._router = Express.Router();
55
128
  this._actionLocalStorage = DI.get((AsyncLocalStorage));
56
129
  for (const [, route] of this.Descriptor.Routes) {
57
130
  const handlers = [];
@@ -174,6 +247,8 @@ export class BaseController extends AsyncService {
174
247
  this._log.warn(`Unknown route type for ${this.constructor.name}::${route.Method} at path ${path}`);
175
248
  return;
176
249
  }
250
+ handlers.push(this.__handle_response__());
251
+ handlers.push(this.__handle_error__());
177
252
  this._router[route.InternalType](path, handlers);
178
253
  }
179
254
  function _invokeAction(source, action, route) {
@@ -205,7 +280,7 @@ export class BaseController extends AsyncService {
205
280
  method: ${route.Method},
206
281
  controller: ${self.constructor.name}`);
207
282
  }
208
- const { Args, CallData } = await routeArgsHandler.extract(callData, param, req, res, route);
283
+ const { Args, CallData } = await routeArgsHandler.extract(callData, callArgs, param, req, res, route);
209
284
  callData = CallData;
210
285
  callArgs[param.Index] = Args;
211
286
  }
@@ -1 +1 @@
1
- {"version":3,"file":"controllers.js","sourceRoot":"","sources":["../../src/controllers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"controllers.js","sourceRoot":"","sources":["../../src/controllers.ts"],"names":[],"mappings":"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"}