@spinajs/http 2.0.481 → 2.0.482

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 (179) hide show
  1. package/lib/cjs/config/http.d.ts.map +1 -1
  2. package/lib/cjs/config/http.js +11 -0
  3. package/lib/cjs/config/http.js.map +1 -1
  4. package/lib/cjs/controllers.d.ts.map +1 -1
  5. package/lib/cjs/controllers.js +48 -12
  6. package/lib/cjs/controllers.js.map +1 -1
  7. package/lib/cjs/decorators.d.ts +46 -4
  8. package/lib/cjs/decorators.d.ts.map +1 -1
  9. package/lib/cjs/decorators.js +127 -23
  10. package/lib/cjs/decorators.js.map +1 -1
  11. package/lib/cjs/error.js +3 -3
  12. package/lib/cjs/error.js.map +1 -1
  13. package/lib/cjs/file-middlewares/validation.d.ts +11 -0
  14. package/lib/cjs/file-middlewares/validation.d.ts.map +1 -1
  15. package/lib/cjs/file-middlewares/validation.js +52 -9
  16. package/lib/cjs/file-middlewares/validation.js.map +1 -1
  17. package/lib/cjs/file-middlewares/zip.d.ts.map +1 -1
  18. package/lib/cjs/file-middlewares/zip.js +6 -1
  19. package/lib/cjs/file-middlewares/zip.js.map +1 -1
  20. package/lib/cjs/index.d.ts +1 -0
  21. package/lib/cjs/index.d.ts.map +1 -1
  22. package/lib/cjs/index.js +1 -0
  23. package/lib/cjs/index.js.map +1 -1
  24. package/lib/cjs/interfaces.d.ts +95 -1
  25. package/lib/cjs/interfaces.d.ts.map +1 -1
  26. package/lib/cjs/interfaces.js +100 -4
  27. package/lib/cjs/interfaces.js.map +1 -1
  28. package/lib/cjs/middlewares/PerfRollup.d.ts +19 -0
  29. package/lib/cjs/middlewares/PerfRollup.d.ts.map +1 -0
  30. package/lib/cjs/middlewares/PerfRollup.js +61 -0
  31. package/lib/cjs/middlewares/PerfRollup.js.map +1 -0
  32. package/lib/cjs/middlewares/RequestId.d.ts +1 -2
  33. package/lib/cjs/middlewares/RequestId.d.ts.map +1 -1
  34. package/lib/cjs/middlewares/RequestId.js +19 -5
  35. package/lib/cjs/middlewares/RequestId.js.map +1 -1
  36. package/lib/cjs/middlewares/ResponseTime.d.ts +1 -2
  37. package/lib/cjs/middlewares/ResponseTime.d.ts.map +1 -1
  38. package/lib/cjs/middlewares/ResponseTime.js +29 -11
  39. package/lib/cjs/middlewares/ResponseTime.js.map +1 -1
  40. package/lib/cjs/response-methods/file.d.ts.map +1 -1
  41. package/lib/cjs/response-methods/file.js +47 -21
  42. package/lib/cjs/response-methods/file.js.map +1 -1
  43. package/lib/cjs/response-methods/index.d.ts +3 -0
  44. package/lib/cjs/response-methods/index.d.ts.map +1 -1
  45. package/lib/cjs/response-methods/index.js +3 -0
  46. package/lib/cjs/response-methods/index.js.map +1 -1
  47. package/lib/cjs/response-methods/redirect.d.ts +11 -4
  48. package/lib/cjs/response-methods/redirect.d.ts.map +1 -1
  49. package/lib/cjs/response-methods/redirect.js +14 -4
  50. package/lib/cjs/response-methods/redirect.js.map +1 -1
  51. package/lib/cjs/response-methods/xml.d.ts +17 -0
  52. package/lib/cjs/response-methods/xml.d.ts.map +1 -0
  53. package/lib/cjs/response-methods/xml.js +26 -0
  54. package/lib/cjs/response-methods/xml.js.map +1 -0
  55. package/lib/cjs/responses.d.ts +10 -0
  56. package/lib/cjs/responses.d.ts.map +1 -1
  57. package/lib/cjs/responses.js +94 -35
  58. package/lib/cjs/responses.js.map +1 -1
  59. package/lib/cjs/route-args/FromBody.d.ts.map +1 -1
  60. package/lib/cjs/route-args/FromBody.js +6 -1
  61. package/lib/cjs/route-args/FromBody.js.map +1 -1
  62. package/lib/cjs/route-args/FromForm.d.ts +1 -1
  63. package/lib/cjs/route-args/FromForm.d.ts.map +1 -1
  64. package/lib/cjs/route-args/FromForm.js +116 -37
  65. package/lib/cjs/route-args/FromForm.js.map +1 -1
  66. package/lib/cjs/route-args/FromXml.d.ts +17 -0
  67. package/lib/cjs/route-args/FromXml.d.ts.map +1 -0
  68. package/lib/cjs/route-args/FromXml.js +55 -0
  69. package/lib/cjs/route-args/FromXml.js.map +1 -0
  70. package/lib/cjs/route-args/RequestContext.d.ts +43 -0
  71. package/lib/cjs/route-args/RequestContext.d.ts.map +1 -0
  72. package/lib/cjs/route-args/RequestContext.js +94 -0
  73. package/lib/cjs/route-args/RequestContext.js.map +1 -0
  74. package/lib/cjs/route-args/RequestFields.d.ts +1 -1
  75. package/lib/cjs/route-args/RequestFields.d.ts.map +1 -1
  76. package/lib/cjs/route-args/RequestFields.js +1 -0
  77. package/lib/cjs/route-args/RequestFields.js.map +1 -1
  78. package/lib/cjs/route-args/RouteArgs.d.ts.map +1 -1
  79. package/lib/cjs/route-args/RouteArgs.js +50 -10
  80. package/lib/cjs/route-args/RouteArgs.js.map +1 -1
  81. package/lib/cjs/route-args/index.d.ts +2 -0
  82. package/lib/cjs/route-args/index.d.ts.map +1 -1
  83. package/lib/cjs/route-args/index.js +2 -0
  84. package/lib/cjs/route-args/index.js.map +1 -1
  85. package/lib/cjs/server.d.ts +36 -3
  86. package/lib/cjs/server.d.ts.map +1 -1
  87. package/lib/cjs/server.js +131 -42
  88. package/lib/cjs/server.js.map +1 -1
  89. package/lib/mjs/config/http.d.ts.map +1 -1
  90. package/lib/mjs/config/http.js +11 -0
  91. package/lib/mjs/config/http.js.map +1 -1
  92. package/lib/mjs/controllers.d.ts.map +1 -1
  93. package/lib/mjs/controllers.js +46 -10
  94. package/lib/mjs/controllers.js.map +1 -1
  95. package/lib/mjs/decorators.d.ts +46 -4
  96. package/lib/mjs/decorators.d.ts.map +1 -1
  97. package/lib/mjs/decorators.js +121 -24
  98. package/lib/mjs/decorators.js.map +1 -1
  99. package/lib/mjs/error.js +3 -3
  100. package/lib/mjs/error.js.map +1 -1
  101. package/lib/mjs/file-middlewares/validation.d.ts +11 -0
  102. package/lib/mjs/file-middlewares/validation.d.ts.map +1 -1
  103. package/lib/mjs/file-middlewares/validation.js +53 -10
  104. package/lib/mjs/file-middlewares/validation.js.map +1 -1
  105. package/lib/mjs/file-middlewares/zip.d.ts.map +1 -1
  106. package/lib/mjs/file-middlewares/zip.js +6 -1
  107. package/lib/mjs/file-middlewares/zip.js.map +1 -1
  108. package/lib/mjs/index.d.ts +1 -0
  109. package/lib/mjs/index.d.ts.map +1 -1
  110. package/lib/mjs/index.js +1 -0
  111. package/lib/mjs/index.js.map +1 -1
  112. package/lib/mjs/interfaces.d.ts +95 -1
  113. package/lib/mjs/interfaces.d.ts.map +1 -1
  114. package/lib/mjs/interfaces.js +65 -2
  115. package/lib/mjs/interfaces.js.map +1 -1
  116. package/lib/mjs/middlewares/PerfRollup.d.ts +19 -0
  117. package/lib/mjs/middlewares/PerfRollup.d.ts.map +1 -0
  118. package/lib/mjs/middlewares/PerfRollup.js +58 -0
  119. package/lib/mjs/middlewares/PerfRollup.js.map +1 -0
  120. package/lib/mjs/middlewares/RequestId.d.ts +1 -2
  121. package/lib/mjs/middlewares/RequestId.d.ts.map +1 -1
  122. package/lib/mjs/middlewares/RequestId.js +19 -5
  123. package/lib/mjs/middlewares/RequestId.js.map +1 -1
  124. package/lib/mjs/middlewares/ResponseTime.d.ts +1 -2
  125. package/lib/mjs/middlewares/ResponseTime.d.ts.map +1 -1
  126. package/lib/mjs/middlewares/ResponseTime.js +29 -11
  127. package/lib/mjs/middlewares/ResponseTime.js.map +1 -1
  128. package/lib/mjs/response-methods/file.d.ts.map +1 -1
  129. package/lib/mjs/response-methods/file.js +41 -15
  130. package/lib/mjs/response-methods/file.js.map +1 -1
  131. package/lib/mjs/response-methods/index.d.ts +3 -0
  132. package/lib/mjs/response-methods/index.d.ts.map +1 -1
  133. package/lib/mjs/response-methods/index.js +3 -0
  134. package/lib/mjs/response-methods/index.js.map +1 -1
  135. package/lib/mjs/response-methods/redirect.d.ts +11 -4
  136. package/lib/mjs/response-methods/redirect.d.ts.map +1 -1
  137. package/lib/mjs/response-methods/redirect.js +15 -5
  138. package/lib/mjs/response-methods/redirect.js.map +1 -1
  139. package/lib/mjs/response-methods/xml.d.ts +17 -0
  140. package/lib/mjs/response-methods/xml.d.ts.map +1 -0
  141. package/lib/mjs/response-methods/xml.js +22 -0
  142. package/lib/mjs/response-methods/xml.js.map +1 -0
  143. package/lib/mjs/responses.d.ts +10 -0
  144. package/lib/mjs/responses.d.ts.map +1 -1
  145. package/lib/mjs/responses.js +93 -35
  146. package/lib/mjs/responses.js.map +1 -1
  147. package/lib/mjs/route-args/FromBody.d.ts.map +1 -1
  148. package/lib/mjs/route-args/FromBody.js +6 -1
  149. package/lib/mjs/route-args/FromBody.js.map +1 -1
  150. package/lib/mjs/route-args/FromForm.d.ts +1 -1
  151. package/lib/mjs/route-args/FromForm.d.ts.map +1 -1
  152. package/lib/mjs/route-args/FromForm.js +114 -38
  153. package/lib/mjs/route-args/FromForm.js.map +1 -1
  154. package/lib/mjs/route-args/FromXml.d.ts +17 -0
  155. package/lib/mjs/route-args/FromXml.d.ts.map +1 -0
  156. package/lib/mjs/route-args/FromXml.js +52 -0
  157. package/lib/mjs/route-args/FromXml.js.map +1 -0
  158. package/lib/mjs/route-args/RequestContext.d.ts +43 -0
  159. package/lib/mjs/route-args/RequestContext.d.ts.map +1 -0
  160. package/lib/mjs/route-args/RequestContext.js +91 -0
  161. package/lib/mjs/route-args/RequestContext.js.map +1 -0
  162. package/lib/mjs/route-args/RequestFields.d.ts +1 -1
  163. package/lib/mjs/route-args/RequestFields.d.ts.map +1 -1
  164. package/lib/mjs/route-args/RequestFields.js +1 -0
  165. package/lib/mjs/route-args/RequestFields.js.map +1 -1
  166. package/lib/mjs/route-args/RouteArgs.d.ts.map +1 -1
  167. package/lib/mjs/route-args/RouteArgs.js +51 -11
  168. package/lib/mjs/route-args/RouteArgs.js.map +1 -1
  169. package/lib/mjs/route-args/index.d.ts +2 -0
  170. package/lib/mjs/route-args/index.d.ts.map +1 -1
  171. package/lib/mjs/route-args/index.js +2 -0
  172. package/lib/mjs/route-args/index.js.map +1 -1
  173. package/lib/mjs/server.d.ts +36 -3
  174. package/lib/mjs/server.d.ts.map +1 -1
  175. package/lib/mjs/server.js +132 -43
  176. package/lib/mjs/server.js.map +1 -1
  177. package/lib/tsconfig.cjs.tsbuildinfo +1 -1
  178. package/lib/tsconfig.mjs.tsbuildinfo +1 -1
  179. package/package.json +16 -12
@@ -1,9 +1,12 @@
1
1
  import { DI } from '@spinajs/di';
2
2
  import { IOFail, ResourceNotFound } from '@spinajs/exceptions';
3
3
  import _ from 'lodash';
4
- import mime from 'mime';
4
+ import { promises } from 'fs';
5
+ import { resolve as resolvePath } from 'path';
5
6
  import { Response } from './../interfaces.js';
6
- import { _setCoockies, _setHeaders } from '../index.js';
7
+ // import from the defining module, not the package barrel - '../index.js' pulls
8
+ // the whole export graph back through interfaces.js and re-forms an import cycle
9
+ import { _setCoockies, _setHeaders } from '../responses.js';
7
10
  export class ZipResponse extends Response {
8
11
  /**
9
12
  * Sends zipped file to client at given path & filename. If file exists
@@ -13,7 +16,10 @@ export class ZipResponse extends Response {
13
16
  super(null);
14
17
  this.Options = Options;
15
18
  this.responseOptions = responseOptions;
16
- this.Options.mimeType = Options.mimeType ?? mime.getType(Options.filename) ?? undefined;
19
+ // The payload is always a zip archive — default to application/zip rather
20
+ // than deriving from the (original) download filename, which would mislabel
21
+ // e.g. a zipped `report.txt` as text/plain.
22
+ this.Options.mimeType = Options.mimeType ?? 'application/zip';
17
23
  this.Options.provider = Options.provider ?? 'local';
18
24
  }
19
25
  async execute(_req, res) {
@@ -28,7 +34,7 @@ export class ZipResponse extends Response {
28
34
  const encodedFilename = encodeURIComponent(this.Options.filename);
29
35
  _setCoockies(res, this.responseOptions);
30
36
  _setHeaders(res, this.responseOptions);
31
- res.setHeader('Content-Type', this.Options.mimeType || 'application/octet-stream');
37
+ res.setHeader('Content-Type', this.Options.mimeType || 'application/zip');
32
38
  res.setHeader('Content-Disposition', `attachment; filename*=UTF-8''${encodedFilename}`);
33
39
  res.sendFile(zippedFile.fs.resolvePath(fPath), (err) => {
34
40
  zippedFile.fs.rm(fPath).finally(() => {
@@ -52,7 +58,11 @@ export class FileResponse extends Response {
52
58
  super(null);
53
59
  this.Options = Options;
54
60
  this.responseOptions = responseOptions;
55
- this.Options.mimeType = Options.mimeType ?? mime.getType(Options.filename) ?? undefined;
61
+ // Do NOT default the mime type here. When the caller doesn't specify one we
62
+ // let res.sendFile derive it from the actual file, which yields the correct
63
+ // charset for text types (e.g. `text/plain; charset=utf-8`) and the right
64
+ // type for binaries — deriving it from the filename dropped the charset.
65
+ this.Options.mimeType = Options.mimeType;
56
66
  this.Options.provider = Options.provider ?? 'local';
57
67
  }
58
68
  async execute(_req, res) {
@@ -65,27 +75,41 @@ export class FileResponse extends Response {
65
75
  throw new ResourceNotFound(`File ${this.Options.path} not exists`);
66
76
  }
67
77
  const file = await provider.download(this.Options.path);
78
+ // A local provider returns the real on-disk file (must NOT be deleted); a
79
+ // remote provider downloads to a throwaway temp copy that must be cleaned
80
+ // up after sending. Detect the local case by the file living under the
81
+ // provider's own base path.
82
+ const basePath = provider.Options?.basePath;
83
+ const isLocalRealFile = !!basePath && resolvePath(file).startsWith(resolvePath(basePath));
68
84
  return new Promise((resolve, reject) => {
69
85
  const encodedFilename = encodeURIComponent(this.Options.filename);
70
86
  _setCoockies(res, this.responseOptions);
71
87
  _setHeaders(res, this.responseOptions);
72
- res.setHeader('Content-Type', this.Options.mimeType || 'application/octet-stream');
88
+ // Only pin the Content-Type when the caller gave an explicit mime type;
89
+ // otherwise let sendFile set it from the file (correct charset / type).
90
+ if (this.Options.mimeType) {
91
+ res.setHeader('Content-Type', this.Options.mimeType);
92
+ }
73
93
  res.setHeader('Content-Disposition', `attachment; filename*=UTF-8''${encodedFilename}`);
74
94
  res.sendFile(file, (err) => {
75
- const r = () => {
95
+ const cleanups = [];
96
+ // Remove the source file on the provider when requested.
97
+ if (this.Options.deleteAfterDownload) {
98
+ cleanups.push(provider.rm(this.Options.path).catch(() => undefined));
99
+ }
100
+ // Remove the downloaded temp copy for remote providers (never the real
101
+ // local file).
102
+ if (!isLocalRealFile) {
103
+ cleanups.push(promises.unlink(file).catch(() => undefined));
104
+ }
105
+ Promise.allSettled(cleanups).finally(() => {
76
106
  if (!_.isNil(err)) {
77
107
  reject(err);
78
108
  }
79
109
  else {
80
110
  resolve();
81
111
  }
82
- };
83
- if (this.Options.deleteAfterDownload) {
84
- provider.rm(this.Options.path).finally(r);
85
- }
86
- else {
87
- r();
88
- }
112
+ });
89
113
  });
90
114
  });
91
115
  }
@@ -100,7 +124,9 @@ export class JsonFileResponse extends Response {
100
124
  async execute(_req, res) {
101
125
  const provider = await DI.resolve('__file_provider__', ['fs-temp']);
102
126
  const tmpPath = provider.tmppath();
103
- provider.write(tmpPath, JSON.stringify(this.data));
127
+ // Must await: sendFile below races the write otherwise and can hit the
128
+ // path before it exists, producing an intermittent ENOENT / 500.
129
+ await provider.write(tmpPath, JSON.stringify(this.data));
104
130
  return new Promise((resolve, reject) => {
105
131
  const encodedFilename = encodeURIComponent(this.filename);
106
132
  _setCoockies(res, this.responseOptions);
@@ -1 +1 @@
1
- {"version":3,"file":"file.js","sourceRoot":"","sources":["../../../src/response-methods/file.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file.js","sourceRoot":"","sources":["../../../src/response-methods/file.ts"],"names":[],"mappings":"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"}
@@ -5,12 +5,15 @@ export * from './forbidden.js';
5
5
  export * from './noContent.js';
6
6
  export * from './notFound.js';
7
7
  export * from './json.js';
8
+ export * from './xml.js';
8
9
  export * from './ok.js';
9
10
  export * from './template.js';
11
+ export * from './redirect.js';
10
12
  export * from './serverError.js';
11
13
  export * from './unauthorized.js';
12
14
  export * from './conflict.js';
13
15
  export * from './notAllowed.js';
16
+ export * from './notAcceptable.js';
14
17
  export * from './validationError.js';
15
18
  export * from './entityTooLarge.js';
16
19
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/response-methods/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/response-methods/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC"}
@@ -5,12 +5,15 @@ export * from './forbidden.js';
5
5
  export * from './noContent.js';
6
6
  export * from './notFound.js';
7
7
  export * from './json.js';
8
+ export * from './xml.js';
8
9
  export * from './ok.js';
9
10
  export * from './template.js';
11
+ export * from './redirect.js';
10
12
  export * from './serverError.js';
11
13
  export * from './unauthorized.js';
12
14
  export * from './conflict.js';
13
15
  export * from './notAllowed.js';
16
+ export * from './notAcceptable.js';
14
17
  export * from './validationError.js';
15
18
  export * from './entityTooLarge.js';
16
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/response-methods/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/response-methods/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC"}
@@ -1,13 +1,20 @@
1
1
  import * as express from 'express';
2
- import { Response } from '../interfaces.js';
2
+ import { IResponseOptions, Response } from '../interfaces.js';
3
3
  /**
4
- * Redirects to another route ( simple alias for request.redirect for api consistency)
4
+ * Redirects to another url. Simple alias over res.redirect for api consistency,
5
+ * with control over the redirect status code and the ability to set cookies /
6
+ * headers on the redirect response (useful for auth flows).
5
7
  *
6
- * @param url - url path to another location
8
+ * @param url - target url
9
+ * @param status - redirect status code (default 302 FOUND). Use 301/308 for
10
+ * permanent, 307 to preserve method/body.
11
+ * @param responseOptions - cookies / headers to set before redirecting
7
12
  */
8
13
  export declare class Redirect extends Response {
14
+ protected responseOptions?: IResponseOptions | undefined;
9
15
  protected url: string;
10
- constructor(url: any);
16
+ protected status: number;
17
+ constructor(url: string, status?: number, responseOptions?: IResponseOptions | undefined);
11
18
  execute(_req: express.Request, res: express.Response): Promise<void>;
12
19
  }
13
20
  //# sourceMappingURL=redirect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"redirect.d.ts","sourceRoot":"","sources":["../../../src/response-methods/redirect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C;;;;GAIG;AACH,qBAAa,QAAS,SAAQ,QAAQ;IACpC,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC;gBAEV,GAAG,EAAE,GAAG;IAMP,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ;CAGlE"}
1
+ {"version":3,"file":"redirect.d.ts","sourceRoot":"","sources":["../../../src/response-methods/redirect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AACnC,OAAO,EAAoB,gBAAgB,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGhF;;;;;;;;;GASG;AACH,qBAAa,QAAS,SAAQ,QAAQ;IAI8B,SAAS,CAAC,eAAe,CAAC,EAAE,gBAAgB;IAH9G,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;gBAEb,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,MAA+B,EAAY,eAAe,CAAC,EAAE,gBAAgB,YAAA;IAOjG,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ;CAMlE"}
@@ -1,16 +1,26 @@
1
- import { Response } from '../interfaces.js';
1
+ import { HTTP_STATUS_CODE, Response } from '../interfaces.js';
2
+ import { _setCoockies, _setHeaders } from '../responses.js';
2
3
  /**
3
- * Redirects to another route ( simple alias for request.redirect for api consistency)
4
+ * Redirects to another url. Simple alias over res.redirect for api consistency,
5
+ * with control over the redirect status code and the ability to set cookies /
6
+ * headers on the redirect response (useful for auth flows).
4
7
  *
5
- * @param url - url path to another location
8
+ * @param url - target url
9
+ * @param status - redirect status code (default 302 FOUND). Use 301/308 for
10
+ * permanent, 307 to preserve method/body.
11
+ * @param responseOptions - cookies / headers to set before redirecting
6
12
  */
7
13
  export class Redirect extends Response {
8
- constructor(url) {
14
+ constructor(url, status = HTTP_STATUS_CODE.FOUND, responseOptions) {
9
15
  super(null);
16
+ this.responseOptions = responseOptions;
10
17
  this.url = url;
18
+ this.status = status;
11
19
  }
12
20
  async execute(_req, res) {
13
- res.redirect(this.url);
21
+ _setCoockies(res, this.responseOptions);
22
+ _setHeaders(res, this.responseOptions);
23
+ res.redirect(this.status, this.url);
14
24
  }
15
25
  }
16
26
  //# sourceMappingURL=redirect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"redirect.js","sourceRoot":"","sources":["../../../src/response-methods/redirect.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C;;;;GAIG;AACH,MAAM,OAAO,QAAS,SAAQ,QAAQ;IAGpC,YAAY,GAAQ;QAClB,KAAK,CAAC,IAAI,CAAC,CAAC;QAEZ,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,IAAqB,EAAE,GAAqB;QAC/D,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;CACF"}
1
+ {"version":3,"file":"redirect.js","sourceRoot":"","sources":["../../../src/response-methods/redirect.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAoB,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE5D;;;;;;;;;GASG;AACH,MAAM,OAAO,QAAS,SAAQ,QAAQ;IAIpC,YAAY,GAAW,EAAE,SAAiB,gBAAgB,CAAC,KAAK,EAAY,eAAkC;QAC5G,KAAK,CAAC,IAAI,CAAC,CAAC;QAD8D,oBAAe,GAAf,eAAe,CAAmB;QAG5G,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,IAAqB,EAAE,GAAqB;QAC/D,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QACxC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAEvC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC;CACF"}
@@ -0,0 +1,17 @@
1
+ import * as express from 'express';
2
+ import { HTTP_STATUS_CODE, IResponseOptions, Response, ResponseFunction } from '../interfaces.js';
3
+ /**
4
+ * Returns an HTTP 200 response with an XML body, bypassing Accept-header
5
+ * negotiation. Use when the endpoint must always respond with XML. The data
6
+ * should be a plain object graph; arrays / scalars are wrapped under a
7
+ * `<response>` root. Optional fast-xml-parser XMLBuilder options can be passed.
8
+ */
9
+ export declare class Xml<T = any> extends Response<T> {
10
+ protected options?: IResponseOptions | undefined;
11
+ protected xmlOptions?: any | undefined;
12
+ protected _errorCode: HTTP_STATUS_CODE;
13
+ protected _template: string;
14
+ constructor(data?: T | Promise<T> | null, options?: IResponseOptions | undefined, xmlOptions?: any | undefined);
15
+ execute(_req: express.Request, _res: express.Response): Promise<ResponseFunction | void>;
16
+ }
17
+ //# sourceMappingURL=xml.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xml.d.ts","sourceRoot":"","sources":["../../../src/response-methods/xml.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGlG;;;;;GAKG;AACH,qBAAa,GAAG,CAAC,CAAC,GAAG,GAAG,CAAE,SAAQ,QAAQ,CAAC,CAAC,CAAC;IAID,SAAS,CAAC,OAAO,CAAC,EAAE,gBAAgB;IAAE,SAAS,CAAC,UAAU,CAAC,EAAE,GAAG;IAH1G,SAAS,CAAC,UAAU,mBAAuB;IAC3C,SAAS,CAAC,SAAS,SAAM;gBAEb,IAAI,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,EAAY,OAAO,CAAC,EAAE,gBAAgB,YAAA,EAAY,UAAU,CAAC,EAAE,GAAG,YAAA;IAI7F,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;CAItG"}
@@ -0,0 +1,22 @@
1
+ import { HTTP_STATUS_CODE, Response } from '../interfaces.js';
2
+ import { xmlResponse } from '../responses.js';
3
+ /**
4
+ * Returns an HTTP 200 response with an XML body, bypassing Accept-header
5
+ * negotiation. Use when the endpoint must always respond with XML. The data
6
+ * should be a plain object graph; arrays / scalars are wrapped under a
7
+ * `<response>` root. Optional fast-xml-parser XMLBuilder options can be passed.
8
+ */
9
+ export class Xml extends Response {
10
+ constructor(data, options, xmlOptions) {
11
+ super(data, options);
12
+ this.options = options;
13
+ this.xmlOptions = xmlOptions;
14
+ this._errorCode = HTTP_STATUS_CODE.OK;
15
+ this._template = '';
16
+ }
17
+ async execute(_req, _res) {
18
+ const data = await this.prepareResponse();
19
+ return xmlResponse(data, { ...this.options, StatusCode: this.options?.StatusCode ?? this._errorCode }, this.xmlOptions);
20
+ }
21
+ }
22
+ //# sourceMappingURL=xml.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xml.js","sourceRoot":"","sources":["../../../src/response-methods/xml.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAoB,QAAQ,EAAoB,MAAM,kBAAkB,CAAC;AAClG,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C;;;;;GAKG;AACH,MAAM,OAAO,GAAa,SAAQ,QAAW;IAI3C,YAAY,IAA4B,EAAY,OAA0B,EAAY,UAAgB;QACxG,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAD6B,YAAO,GAAP,OAAO,CAAmB;QAAY,eAAU,GAAV,UAAU,CAAM;QAHhG,eAAU,GAAG,gBAAgB,CAAC,EAAE,CAAC;QACjC,cAAS,GAAG,EAAE,CAAC;IAIzB,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,IAAqB,EAAE,IAAsB;QAChE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC1C,OAAO,WAAW,CAAC,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC1H,CAAC;CACF"}
@@ -16,6 +16,16 @@ export declare function jsonResponse(model: any, options?: IResponseOptions): (_
16
16
  * @param status - status code
17
17
  */
18
18
  export declare function textResponse(model: any, options?: IResponseOptions): (_req: express.Request, res: express.Response) => void;
19
+ /**
20
+ * Serializes data to an XML body. The payload should be a plain object graph;
21
+ * arrays and scalars are wrapped under a `<response>` root so the output is a
22
+ * single well-formed document.
23
+ *
24
+ * @param model - data to serialize
25
+ * @param options - response options (status, headers, cookies)
26
+ * @param xmlOptions - fast-xml-parser XMLBuilder options
27
+ */
28
+ export declare function xmlResponse(model: any, options?: IResponseOptions, xmlOptions?: any): (_req: express.Request, res: express.Response) => void;
19
29
  /**
20
30
  * Sends html response & sets proper header. If template is not avaible, handles proper error rendering.
21
31
  *
@@ -1 +1 @@
1
- {"version":3,"file":"responses.d.ts","sourceRoot":"","sources":["../../src/responses.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AACnC,OAAO,EAAwD,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAYzG,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,gBAAgB,QA6B7E;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,gBAAgB,QAI5E;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,gBAAgB,IACzD,MAAM,OAAO,CAAC,OAAO,EAAE,KAAK,OAAO,CAAC,QAAQ,UAYrD;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,gBAAgB,IACzD,MAAM,OAAO,CAAC,OAAO,EAAE,KAAK,OAAO,CAAC,QAAQ,UAWrD;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,gBAAgB,IAGvE,KAAK,OAAO,CAAC,OAAO,EAAE,KAAK,OAAO,CAAC,QAAQ,UA0DpD;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,IAwC3E,KAAK,OAAO,CAAC,OAAO,EAAE,KAAK,OAAO,CAAC,QAAQ,UA0CpD"}
1
+ {"version":3,"file":"responses.d.ts","sourceRoot":"","sources":["../../src/responses.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AACnC,OAAO,EAAwD,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAmBzG,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,gBAAgB,QA6B7E;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,gBAAgB,QAI5E;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,gBAAgB,IACzD,MAAM,OAAO,CAAC,OAAO,EAAE,KAAK,OAAO,CAAC,QAAQ,UAcrD;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,gBAAgB,IACzD,MAAM,OAAO,CAAC,OAAO,EAAE,KAAK,OAAO,CAAC,QAAQ,UAgBrD;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,gBAAgB,EAAE,UAAU,CAAC,EAAE,GAAG,IAC1E,MAAM,OAAO,CAAC,OAAO,EAAE,KAAK,OAAO,CAAC,QAAQ,UAYrD;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,gBAAgB,IAGvE,KAAK,OAAO,CAAC,OAAO,EAAE,KAAK,OAAO,CAAC,QAAQ,UA0DpD;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,IA+E3E,KAAK,OAAO,CAAC,OAAO,EAAE,KAAK,OAAO,CAAC,QAAQ,UA4BpD"}
@@ -4,8 +4,15 @@ import { DI } from '@spinajs/di';
4
4
  import { Log } from '@spinajs/log-common';
5
5
  import * as randomstring from 'randomstring';
6
6
  import { Templates } from '@spinajs/templates';
7
- import { ServerError } from './index.js';
7
+ // NOTE: import the exception, not the `ServerError` *response* from './index.js'.
8
+ // That barrel import created the cycle interfaces -> responses -> index ->
9
+ // response-methods/badRequest -> interfaces, which blew up with
10
+ // "Cannot access 'Response' before initialization" whenever a module other
11
+ // than index.js (eg. server.js) was the entry point. `UnexpectedServerError`
12
+ // is mapped back to the ServerError response by __handle_error__ anyway.
13
+ import { UnexpectedServerError } from '@spinajs/exceptions';
8
14
  import * as cs from 'cookie-signature';
15
+ import { XMLBuilder } from 'fast-xml-parser';
9
16
  export function _setCoockies(res, options) {
10
17
  const cfg = DI.get(Configuration);
11
18
  if (!cfg) {
@@ -45,7 +52,9 @@ export function jsonResponse(model, options) {
45
52
  res.status(options?.StatusCode ? options?.StatusCode : HTTP_STATUS_CODE.OK);
46
53
  _setCoockies(res, options);
47
54
  _setHeaders(res, options);
48
- if (model) {
55
+ // Presence check, not truthiness: 0 / false / '' are valid JSON bodies and
56
+ // must be sent. Only undefined / null mean "no body".
57
+ if (model !== undefined && model !== null) {
49
58
  res.json(model);
50
59
  }
51
60
  else {
@@ -64,10 +73,36 @@ export function textResponse(model, options) {
64
73
  res.status(options?.StatusCode ? options?.StatusCode : HTTP_STATUS_CODE.OK);
65
74
  _setCoockies(res, options);
66
75
  _setHeaders(res, options);
67
- if (model) {
76
+ // Presence check, not truthiness: 0 / false / '' are valid bodies. Only
77
+ // undefined / null end the response empty (and always terminate it —
78
+ // otherwise a missing body on this fallback path hangs until timeout).
79
+ if (model !== undefined && model !== null) {
68
80
  res.set('Content-Type', 'text/plain');
69
81
  res.send(JSON.stringify(model));
70
82
  }
83
+ else {
84
+ res.end();
85
+ }
86
+ };
87
+ }
88
+ /**
89
+ * Serializes data to an XML body. The payload should be a plain object graph;
90
+ * arrays and scalars are wrapped under a `<response>` root so the output is a
91
+ * single well-formed document.
92
+ *
93
+ * @param model - data to serialize
94
+ * @param options - response options (status, headers, cookies)
95
+ * @param xmlOptions - fast-xml-parser XMLBuilder options
96
+ */
97
+ export function xmlResponse(model, options, xmlOptions) {
98
+ return (_req, res) => {
99
+ res.status(options?.StatusCode ? options.StatusCode : HTTP_STATUS_CODE.OK);
100
+ _setCoockies(res, options);
101
+ _setHeaders(res, options);
102
+ res.set('Content-Type', 'application/xml');
103
+ const builder = new XMLBuilder({ ignoreAttributes: false, ...xmlOptions });
104
+ const payload = model !== null && typeof model === 'object' && !Array.isArray(model) ? model : { response: model };
105
+ res.send(builder.build(payload));
71
106
  };
72
107
  }
73
108
  /**
@@ -164,44 +199,67 @@ export function httpResponse(model, template, options) {
164
199
  })(req, res);
165
200
  }
166
201
  };
167
- return (req, res) => {
168
- if (req.accepts('html') && (acceptedHeaders & HttpAcceptHeaders.HTML) === HttpAcceptHeaders.HTML) {
169
- const fs = DI.resolve('__file_provider__', ['__fs_http_response_templates__']);
170
- if (!fs) {
171
- throw new ServerError('file provider __fs_http_response_templates__ not set. Pleas set response template file provider for html http default responses !');
172
- }
173
- fs.download(template)
174
- .then((file) => {
175
- htmlResponse(file, model, options)(req, res);
176
- })
177
- .catch((err) => {
178
- const log = DI.resolve(Log, ['http']);
179
- log.warn(`Cannot render html file ${template}, error: ${err.message}:${err.stack}`, err);
180
- fs.download('serverError.pug').then((file) => {
181
- // try to render server error response
182
- htmlResponse(file, { error: err }, {
183
- ...options,
184
- StatusCode: HTTP_STATUS_CODE.INTERNAL_ERROR,
185
- })(req, res);
186
- });
202
+ const htmlBranch = (req, res) => {
203
+ const fs = DI.resolve('__file_provider__', ['__fs_http_response_templates__']);
204
+ if (!fs) {
205
+ throw new UnexpectedServerError('file provider __fs_http_response_templates__ not set. Pleas set response template file provider for html http default responses !');
206
+ }
207
+ fs.download(template)
208
+ .then((file) => {
209
+ htmlResponse(file, model, options)(req, res);
210
+ })
211
+ .catch((err) => {
212
+ const log = DI.resolve(Log, ['http']);
213
+ log.warn(`Cannot render html file ${template}, error: ${err.message}:${err.stack}`, err);
214
+ fs.download('serverError.pug').then((file) => {
215
+ // try to render server error response
216
+ htmlResponse(file, { error: err }, {
217
+ ...options,
218
+ StatusCode: HTTP_STATUS_CODE.INTERNAL_ERROR,
219
+ })(req, res);
187
220
  });
221
+ });
222
+ };
223
+ const jsonBranch = (req, res) => {
224
+ if (options && options.StatusCode && options.StatusCode >= 400) {
225
+ errorTransform(req, res);
188
226
  }
189
- else if (req.accepts('json') && (acceptedHeaders & HttpAcceptHeaders.JSON) === HttpAcceptHeaders.JSON) {
190
- if (options && options.StatusCode && options.StatusCode >= 400) {
191
- errorTransform(req, res);
192
- }
193
- else {
194
- if (req.headers['x-data-transform']) {
195
- dataTransform(req, res);
196
- }
197
- else {
198
- jsonResponse(model, options)(req, res);
199
- }
200
- }
227
+ else if (req.headers['x-data-transform']) {
228
+ dataTransform(req, res);
201
229
  }
202
230
  else {
231
+ jsonResponse(model, options)(req, res);
232
+ }
233
+ };
234
+ return (req, res) => {
235
+ // Offer the types the server is configured to produce, JSON first so a
236
+ // wildcard / absent Accept (*/*) defaults to JSON rather than HTML. Explicit
237
+ // client preferences (order / q-values) are still honored by req.accepts.
238
+ const offered = [];
239
+ if ((acceptedHeaders & HttpAcceptHeaders.JSON) === HttpAcceptHeaders.JSON)
240
+ offered.push('json');
241
+ if ((acceptedHeaders & HttpAcceptHeaders.HTML) === HttpAcceptHeaders.HTML)
242
+ offered.push('html');
243
+ if ((acceptedHeaders & HttpAcceptHeaders.XML) === HttpAcceptHeaders.XML)
244
+ offered.push('xml');
245
+ const best = offered.length ? req.accepts(offered) : false;
246
+ if (best === 'html') {
247
+ htmlBranch(req, res);
248
+ }
249
+ else if (best === 'json') {
250
+ jsonBranch(req, res);
251
+ }
252
+ else if (best === 'xml') {
253
+ xmlResponse(model, options)(req, res);
254
+ }
255
+ else if (req.accepts('text/plain')) {
256
+ // Client accepts plain text (or the config offers nothing negotiable).
203
257
  textResponse(model, options)(req, res);
204
258
  }
259
+ else {
260
+ // Client explicitly asked for a media type the server can't produce.
261
+ jsonResponse({ error: { message: 'Not Acceptable', code: HTTP_STATUS_CODE.NOT_ACCEPTABLE } }, { ...options, StatusCode: HTTP_STATUS_CODE.NOT_ACCEPTABLE })(req, res);
262
+ }
205
263
  };
206
264
  }
207
265
  //# sourceMappingURL=responses.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"responses.js","sourceRoot":"","sources":["../../src/responses.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"responses.js","sourceRoot":"","sources":["../../src/responses.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"FromBody.d.ts","sourceRoot":"","sources":["../../../src/route-args/FromBody.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,QAAS,SAAQ,SAAS;IACrC,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;;;;CASnJ"}
1
+ {"version":3,"file":"FromBody.d.ts","sourceRoot":"","sources":["../../../src/route-args/FromBody.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,QAAS,SAAQ,SAAS;IACrC,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;;;;CAenJ"}
@@ -15,7 +15,12 @@ let FromBody = class FromBody extends RouteArgs {
15
15
  if (!req.body) {
16
16
  return { CallData: callData, Args: null };
17
17
  }
18
- const arg = req.body[param.Name] ? req.body[param.Name] : [...route.Parameters.values()].filter((p) => p.Type === ParameterType.FromBody).length === 1 ? req.body : null;
18
+ // Use presence, not truthiness a body field legitimately holding 0,
19
+ // false or '' must map to that value, not be treated as absent (which
20
+ // would wrongly fall through to passing the whole body).
21
+ const hasNamedField = Object.prototype.hasOwnProperty.call(req.body, param.Name);
22
+ const isSingleBodyParam = [...route.Parameters.values()].filter((p) => p.Type === ParameterType.FromBody).length === 1;
23
+ const arg = hasNamedField ? req.body[param.Name] : isSingleBodyParam ? req.body : null;
19
24
  let result = await this.tryHydrateParam(arg, param, route);
20
25
  return { CallData: callData, Args: result };
21
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FromBody.js","sourceRoot":"","sources":["../../../src/route-args/FromBody.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAmB,aAAa,EAAsB,MAAM,kBAAkB,CAAC;AAEtF,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGlC,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,SAAS;IACrC,IAAW,aAAa;QACtB,OAAO,aAAa,CAAC,QAAQ,CAAC;IAChC,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,QAAoB,EAAC,KAAkB,EAAG,KAAsB,EAAE,GAAoB,EAAE,IAAsB,EAAE,KAAa;QAChJ,IAAG,CAAC,GAAG,CAAC,IAAI,EAAC,CAAC;YACZ,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAC5C,CAAC;QAED,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QACzK,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAC3D,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC9C,CAAC;CACF,CAAA;AAdY,QAAQ;IADpB,UAAU,EAAE;GACA,QAAQ,CAcpB"}
1
+ {"version":3,"file":"FromBody.js","sourceRoot":"","sources":["../../../src/route-args/FromBody.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAmB,aAAa,EAAsB,MAAM,kBAAkB,CAAC;AAEtF,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGlC,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,SAAS;IACrC,IAAW,aAAa;QACtB,OAAO,aAAa,CAAC,QAAQ,CAAC;IAChC,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,QAAoB,EAAC,KAAkB,EAAG,KAAsB,EAAE,GAAoB,EAAE,IAAsB,EAAE,KAAa;QAChJ,IAAG,CAAC,GAAG,CAAC,IAAI,EAAC,CAAC;YACZ,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAC5C,CAAC;QAED,sEAAsE;QACtE,sEAAsE;QACtE,yDAAyD;QACzD,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACjF,MAAM,iBAAiB,GAAG,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;QACvH,MAAM,GAAG,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QAEvF,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAC3D,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC9C,CAAC;CACF,CAAA;AApBY,QAAQ;IADpB,UAAU,EAAE;GACA,QAAQ,CAoBpB"}
@@ -85,7 +85,7 @@ export declare class FromCSV extends FromFormBase {
85
85
  export declare class FromFormField extends FromFormBase {
86
86
  get SupportedType(): ParameterType;
87
87
  extract(callData: IRouteCall, _args: unknown[], param: IRouteParameter, req: Request, res: express.Response, route?: IRoute): Promise<{
88
- Args: string | IRouteArgsResult;
88
+ Args: any;
89
89
  CallData: IRouteCall;
90
90
  }>;
91
91
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FromForm.d.ts","sourceRoot":"","sources":["../../../src/route-args/FromForm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FromForm.d.ts","sourceRoot":"","sources":["../../../src/route-args/FromForm.ts"],"names":[],"mappings":"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"}