api-machine 1.0.0

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 (196) hide show
  1. package/CHANGELOG.md +1 -0
  2. package/LICENSE.md +20 -0
  3. package/README.md +383 -0
  4. package/authentication/authenticated-request.d.ts +4 -0
  5. package/authentication/authenticated-request.js +3 -0
  6. package/authentication/authenticated-request.js.map +1 -0
  7. package/authentication/authentication-scheme.d.ts +38 -0
  8. package/authentication/authentication-scheme.js +21 -0
  9. package/authentication/authentication-scheme.js.map +1 -0
  10. package/authentication/index.d.ts +4 -0
  11. package/authentication/index.js +9 -0
  12. package/authentication/index.js.map +1 -0
  13. package/authentication/middleware/bearer-authentication.d.ts +12 -0
  14. package/authentication/middleware/bearer-authentication.js +49 -0
  15. package/authentication/middleware/bearer-authentication.js.map +1 -0
  16. package/authentication/middleware/index.d.ts +1 -0
  17. package/authentication/middleware/index.js +6 -0
  18. package/authentication/middleware/index.js.map +1 -0
  19. package/authentication/schemes/bearer-authentication-scheme.d.ts +37 -0
  20. package/authentication/schemes/bearer-authentication-scheme.js +43 -0
  21. package/authentication/schemes/bearer-authentication-scheme.js.map +1 -0
  22. package/authentication/schemes/index.d.ts +1 -0
  23. package/authentication/schemes/index.js +6 -0
  24. package/authentication/schemes/index.js.map +1 -0
  25. package/error/error-options.d.ts +4 -0
  26. package/error/error-options.js +3 -0
  27. package/error/error-options.js.map +1 -0
  28. package/error/error-response.d.ts +7 -0
  29. package/error/error-response.js +3 -0
  30. package/error/error-response.js.map +1 -0
  31. package/error/http-errors/400-bad-request-error.d.ts +12 -0
  32. package/error/http-errors/400-bad-request-error.js +20 -0
  33. package/error/http-errors/400-bad-request-error.js.map +1 -0
  34. package/error/http-errors/401-unauthorized-error.d.ts +14 -0
  35. package/error/http-errors/401-unauthorized-error.js +24 -0
  36. package/error/http-errors/401-unauthorized-error.js.map +1 -0
  37. package/error/http-errors/402-payment-required-error.d.ts +10 -0
  38. package/error/http-errors/402-payment-required-error.js +18 -0
  39. package/error/http-errors/402-payment-required-error.js.map +1 -0
  40. package/error/http-errors/403-forbidden-error.d.ts +10 -0
  41. package/error/http-errors/403-forbidden-error.js +18 -0
  42. package/error/http-errors/403-forbidden-error.js.map +1 -0
  43. package/error/http-errors/404-not-found-error.d.ts +10 -0
  44. package/error/http-errors/404-not-found-error.js +18 -0
  45. package/error/http-errors/404-not-found-error.js.map +1 -0
  46. package/error/http-errors/405-method-not-allowed-error.d.ts +13 -0
  47. package/error/http-errors/405-method-not-allowed-error.js +27 -0
  48. package/error/http-errors/405-method-not-allowed-error.js.map +1 -0
  49. package/error/http-errors/406-not-acceptable-error.d.ts +11 -0
  50. package/error/http-errors/406-not-acceptable-error.js +19 -0
  51. package/error/http-errors/406-not-acceptable-error.js.map +1 -0
  52. package/error/http-errors/407-proxy-authentication-required-error.d.ts +13 -0
  53. package/error/http-errors/407-proxy-authentication-required-error.js +23 -0
  54. package/error/http-errors/407-proxy-authentication-required-error.js.map +1 -0
  55. package/error/http-errors/408-request-timeout-error.d.ts +10 -0
  56. package/error/http-errors/408-request-timeout-error.js +18 -0
  57. package/error/http-errors/408-request-timeout-error.js.map +1 -0
  58. package/error/http-errors/409-conflict-error.d.ts +10 -0
  59. package/error/http-errors/409-conflict-error.js +18 -0
  60. package/error/http-errors/409-conflict-error.js.map +1 -0
  61. package/error/http-errors/410-gone-error.d.ts +10 -0
  62. package/error/http-errors/410-gone-error.js +18 -0
  63. package/error/http-errors/410-gone-error.js.map +1 -0
  64. package/error/http-errors/411-length-required-error.d.ts +10 -0
  65. package/error/http-errors/411-length-required-error.js +18 -0
  66. package/error/http-errors/411-length-required-error.js.map +1 -0
  67. package/error/http-errors/412-precondition-failed-error.d.ts +10 -0
  68. package/error/http-errors/412-precondition-failed-error.js +18 -0
  69. package/error/http-errors/412-precondition-failed-error.js.map +1 -0
  70. package/error/http-errors/413-payload-too-large-error.d.ts +10 -0
  71. package/error/http-errors/413-payload-too-large-error.js +18 -0
  72. package/error/http-errors/413-payload-too-large-error.js.map +1 -0
  73. package/error/http-errors/414-uri-too-long-error.d.ts +10 -0
  74. package/error/http-errors/414-uri-too-long-error.js +18 -0
  75. package/error/http-errors/414-uri-too-long-error.js.map +1 -0
  76. package/error/http-errors/415-unsupported-media-type-error.d.ts +13 -0
  77. package/error/http-errors/415-unsupported-media-type-error.js +25 -0
  78. package/error/http-errors/415-unsupported-media-type-error.js.map +1 -0
  79. package/error/http-errors/416-range-not-satisfiable-error.d.ts +13 -0
  80. package/error/http-errors/416-range-not-satisfiable-error.js +25 -0
  81. package/error/http-errors/416-range-not-satisfiable-error.js.map +1 -0
  82. package/error/http-errors/417-expectation-failed-error.d.ts +10 -0
  83. package/error/http-errors/417-expectation-failed-error.js +18 -0
  84. package/error/http-errors/417-expectation-failed-error.js.map +1 -0
  85. package/error/http-errors/418-im-a-teapot-error.d.ts +10 -0
  86. package/error/http-errors/418-im-a-teapot-error.js +18 -0
  87. package/error/http-errors/418-im-a-teapot-error.js.map +1 -0
  88. package/error/http-errors/421-misdirected-request-error.d.ts +10 -0
  89. package/error/http-errors/421-misdirected-request-error.js +18 -0
  90. package/error/http-errors/421-misdirected-request-error.js.map +1 -0
  91. package/error/http-errors/422-unprocessable-entity-error.d.ts +10 -0
  92. package/error/http-errors/422-unprocessable-entity-error.js +18 -0
  93. package/error/http-errors/422-unprocessable-entity-error.js.map +1 -0
  94. package/error/http-errors/423-locked-error.d.ts +10 -0
  95. package/error/http-errors/423-locked-error.js +18 -0
  96. package/error/http-errors/423-locked-error.js.map +1 -0
  97. package/error/http-errors/424-failed-dependency-error.d.ts +10 -0
  98. package/error/http-errors/424-failed-dependency-error.js +18 -0
  99. package/error/http-errors/424-failed-dependency-error.js.map +1 -0
  100. package/error/http-errors/425-too-early-error.d.ts +10 -0
  101. package/error/http-errors/425-too-early-error.js +18 -0
  102. package/error/http-errors/425-too-early-error.js.map +1 -0
  103. package/error/http-errors/426-upgrade-required-error.d.ts +13 -0
  104. package/error/http-errors/426-upgrade-required-error.js +22 -0
  105. package/error/http-errors/426-upgrade-required-error.js.map +1 -0
  106. package/error/http-errors/428-precondition-required-error.d.ts +10 -0
  107. package/error/http-errors/428-precondition-required-error.js +18 -0
  108. package/error/http-errors/428-precondition-required-error.js.map +1 -0
  109. package/error/http-errors/429-too-many-requests-error.d.ts +13 -0
  110. package/error/http-errors/429-too-many-requests-error.js +25 -0
  111. package/error/http-errors/429-too-many-requests-error.js.map +1 -0
  112. package/error/http-errors/431-request-header-fields-too-large-error.d.ts +11 -0
  113. package/error/http-errors/431-request-header-fields-too-large-error.js +19 -0
  114. package/error/http-errors/431-request-header-fields-too-large-error.js.map +1 -0
  115. package/error/http-errors/451-unavailable-for-legal-reasons-error.d.ts +10 -0
  116. package/error/http-errors/451-unavailable-for-legal-reasons-error.js +18 -0
  117. package/error/http-errors/451-unavailable-for-legal-reasons-error.js.map +1 -0
  118. package/error/http-errors/http-error.d.ts +26 -0
  119. package/error/http-errors/http-error.js +37 -0
  120. package/error/http-errors/http-error.js.map +1 -0
  121. package/error/http-errors/index.d.ts +30 -0
  122. package/error/http-errors/index.js +67 -0
  123. package/error/http-errors/index.js.map +1 -0
  124. package/error/index.d.ts +3 -0
  125. package/error/index.js +5 -0
  126. package/error/index.js.map +1 -0
  127. package/index.d.ts +4 -0
  128. package/index.js +8 -0
  129. package/index.js.map +1 -0
  130. package/log/index.d.ts +1 -0
  131. package/log/index.js +3 -0
  132. package/log/index.js.map +1 -0
  133. package/log/log-interface.d.ts +7 -0
  134. package/log/log-interface.js +3 -0
  135. package/log/log-interface.js.map +1 -0
  136. package/oas/index.d.ts +2 -0
  137. package/oas/index.js +8 -0
  138. package/oas/index.js.map +1 -0
  139. package/oas/oas-endpoint-component-converter.d.ts +15 -0
  140. package/oas/oas-endpoint-component-converter.js +33 -0
  141. package/oas/oas-endpoint-component-converter.js.map +1 -0
  142. package/oas/oas-endpoint-converter.d.ts +17 -0
  143. package/oas/oas-endpoint-converter.js +89 -0
  144. package/oas/oas-endpoint-converter.js.map +1 -0
  145. package/oas/oas-rest-server-converter.d.ts +13 -0
  146. package/oas/oas-rest-server-converter.js +82 -0
  147. package/oas/oas-rest-server-converter.js.map +1 -0
  148. package/oas/routes.d.ts +8 -0
  149. package/oas/routes.js +24 -0
  150. package/oas/routes.js.map +1 -0
  151. package/package.json +34 -0
  152. package/router/base.d.ts +35 -0
  153. package/router/base.js +59 -0
  154. package/router/base.js.map +1 -0
  155. package/router/endpoint.d.ts +44 -0
  156. package/router/endpoint.js +76 -0
  157. package/router/endpoint.js.map +1 -0
  158. package/router/endpoints/delete-endpoint.d.ts +5 -0
  159. package/router/endpoints/delete-endpoint.js +10 -0
  160. package/router/endpoints/delete-endpoint.js.map +1 -0
  161. package/router/endpoints/get-endpoint.d.ts +5 -0
  162. package/router/endpoints/get-endpoint.js +10 -0
  163. package/router/endpoints/get-endpoint.js.map +1 -0
  164. package/router/endpoints/health-check-endpoint.d.ts +15 -0
  165. package/router/endpoints/health-check-endpoint.js +30 -0
  166. package/router/endpoints/health-check-endpoint.js.map +1 -0
  167. package/router/endpoints/index.d.ts +6 -0
  168. package/router/endpoints/index.js +16 -0
  169. package/router/endpoints/index.js.map +1 -0
  170. package/router/endpoints/patch-endpoint.d.ts +5 -0
  171. package/router/endpoints/patch-endpoint.js +10 -0
  172. package/router/endpoints/patch-endpoint.js.map +1 -0
  173. package/router/endpoints/post-endpoint.d.ts +5 -0
  174. package/router/endpoints/post-endpoint.js +10 -0
  175. package/router/endpoints/post-endpoint.js.map +1 -0
  176. package/router/endpoints/put-endpoint.d.ts +5 -0
  177. package/router/endpoints/put-endpoint.js +10 -0
  178. package/router/endpoints/put-endpoint.js.map +1 -0
  179. package/router/index.d.ts +3 -0
  180. package/router/index.js +15 -0
  181. package/router/index.js.map +1 -0
  182. package/router/router.d.ts +15 -0
  183. package/router/router.js +67 -0
  184. package/router/router.js.map +1 -0
  185. package/router/validation-middleware.d.ts +13 -0
  186. package/router/validation-middleware.js +45 -0
  187. package/router/validation-middleware.js.map +1 -0
  188. package/server/index.d.ts +2 -0
  189. package/server/index.js +8 -0
  190. package/server/index.js.map +1 -0
  191. package/server/server-options.d.ts +46 -0
  192. package/server/server-options.js +24 -0
  193. package/server/server-options.js.map +1 -0
  194. package/server/server.d.ts +38 -0
  195. package/server/server.js +178 -0
  196. package/server/server.js.map +1 -0
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UnsupportedMediaTypeError = void 0;
4
+ const http_error_1 = require("./http-error");
5
+ /**
6
+ * 415 Unsupported Media Type
7
+ * The media format of the requested data is not supported by the server
8
+ */
9
+ class UnsupportedMediaTypeError extends http_error_1.HTTPError {
10
+ constructor(message = 'Unsupported Media Type', options = {}) {
11
+ const headers = {};
12
+ if (options.acceptedTypes && options.acceptedTypes.length > 0) {
13
+ headers['Accept'] = options.acceptedTypes.join(', ');
14
+ }
15
+ super(message, {
16
+ ...options,
17
+ headers: { ...headers, ...options.headers },
18
+ });
19
+ }
20
+ getStatusCode() {
21
+ return 415;
22
+ }
23
+ }
24
+ exports.UnsupportedMediaTypeError = UnsupportedMediaTypeError;
25
+ //# sourceMappingURL=415-unsupported-media-type-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"415-unsupported-media-type-error.js","sourceRoot":"","sources":["../../../../src/error/http-errors/415-unsupported-media-type-error.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAOzC;;;GAGG;AACH,MAAa,yBAA0B,SAAQ,sBAAS;IACvD,YACC,OAAO,GAAG,wBAAwB,EAClC,UAA4C,EAAE;QAE9C,MAAM,OAAO,GAA2B,EAAE,CAAC;QAC3C,IAAI,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/D,OAAO,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,CAAC;QACD,KAAK,CAAC,OAAO,EAAE;YACd,GAAG,OAAO;YACV,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE;SAC3C,CAAC,CAAC;IACJ,CAAC;IAEe,aAAa;QAC5B,OAAO,GAAG,CAAC;IACZ,CAAC;CACD;AAlBD,8DAkBC"}
@@ -0,0 +1,13 @@
1
+ import { HTTPError } from './http-error';
2
+ import { HttpErrorOptions } from '../error-options';
3
+ export interface RangeNotSatisfiableErrorOptions extends HttpErrorOptions {
4
+ contentRange?: string;
5
+ }
6
+ /**
7
+ * 416 Range Not Satisfiable
8
+ * The range specified by the Range header field cannot be fulfilled
9
+ */
10
+ export declare class RangeNotSatisfiableError extends HTTPError {
11
+ constructor(message?: string, options?: RangeNotSatisfiableErrorOptions);
12
+ getStatusCode(): number;
13
+ }
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RangeNotSatisfiableError = void 0;
4
+ const http_error_1 = require("./http-error");
5
+ /**
6
+ * 416 Range Not Satisfiable
7
+ * The range specified by the Range header field cannot be fulfilled
8
+ */
9
+ class RangeNotSatisfiableError extends http_error_1.HTTPError {
10
+ constructor(message = 'Range Not Satisfiable', options = {}) {
11
+ const headers = {};
12
+ if (options.contentRange) {
13
+ headers['Content-Range'] = options.contentRange;
14
+ }
15
+ super(message, {
16
+ ...options,
17
+ headers: { ...headers, ...options.headers },
18
+ });
19
+ }
20
+ getStatusCode() {
21
+ return 416;
22
+ }
23
+ }
24
+ exports.RangeNotSatisfiableError = RangeNotSatisfiableError;
25
+ //# sourceMappingURL=416-range-not-satisfiable-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"416-range-not-satisfiable-error.js","sourceRoot":"","sources":["../../../../src/error/http-errors/416-range-not-satisfiable-error.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAOzC;;;GAGG;AACH,MAAa,wBAAyB,SAAQ,sBAAS;IACtD,YACC,OAAO,GAAG,uBAAuB,EACjC,UAA2C,EAAE;QAE7C,MAAM,OAAO,GAA2B,EAAE,CAAC;QAE3C,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YAC1B,OAAO,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC;QACjD,CAAC;QAED,KAAK,CAAC,OAAO,EAAE;YACd,GAAG,OAAO;YACV,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE;SAC3C,CAAC,CAAC;IACJ,CAAC;IAEe,aAAa;QAC5B,OAAO,GAAG,CAAC;IACZ,CAAC;CACD;AApBD,4DAoBC"}
@@ -0,0 +1,10 @@
1
+ import { HTTPError } from './http-error';
2
+ import { HttpErrorOptions } from '../error-options';
3
+ /**
4
+ * 417 Expectation Failed
5
+ * The expectation given in the Expect request header could not be met
6
+ */
7
+ export declare class ExpectationFailedError extends HTTPError {
8
+ constructor(message?: string, options?: HttpErrorOptions);
9
+ getStatusCode(): number;
10
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExpectationFailedError = void 0;
4
+ const http_error_1 = require("./http-error");
5
+ /**
6
+ * 417 Expectation Failed
7
+ * The expectation given in the Expect request header could not be met
8
+ */
9
+ class ExpectationFailedError extends http_error_1.HTTPError {
10
+ constructor(message = 'Expectation Failed', options = {}) {
11
+ super(message, options);
12
+ }
13
+ getStatusCode() {
14
+ return 417;
15
+ }
16
+ }
17
+ exports.ExpectationFailedError = ExpectationFailedError;
18
+ //# sourceMappingURL=417-expectation-failed-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"417-expectation-failed-error.js","sourceRoot":"","sources":["../../../../src/error/http-errors/417-expectation-failed-error.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAGzC;;;GAGG;AACH,MAAa,sBAAuB,SAAQ,sBAAS;IACpD,YACC,OAAO,GAAG,oBAAoB,EAC9B,UAA4B,EAAE;QAE9B,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACzB,CAAC;IAEe,aAAa;QAC5B,OAAO,GAAG,CAAC;IACZ,CAAC;CACD;AAXD,wDAWC"}
@@ -0,0 +1,10 @@
1
+ import { HTTPError } from './http-error';
2
+ import { HttpErrorOptions } from '../error-options';
3
+ /**
4
+ * 418 I'm a teapot
5
+ * The server refuses to brew coffee because it is a teapot (RFC 2324)
6
+ */
7
+ export declare class ImATeapotError extends HTTPError {
8
+ constructor(message?: string, options?: HttpErrorOptions);
9
+ getStatusCode(): number;
10
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ImATeapotError = void 0;
4
+ const http_error_1 = require("./http-error");
5
+ /**
6
+ * 418 I'm a teapot
7
+ * The server refuses to brew coffee because it is a teapot (RFC 2324)
8
+ */
9
+ class ImATeapotError extends http_error_1.HTTPError {
10
+ constructor(message = 'I\'m a teapot', options = {}) {
11
+ super(message, options);
12
+ }
13
+ getStatusCode() {
14
+ return 418;
15
+ }
16
+ }
17
+ exports.ImATeapotError = ImATeapotError;
18
+ //# sourceMappingURL=418-im-a-teapot-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"418-im-a-teapot-error.js","sourceRoot":"","sources":["../../../../src/error/http-errors/418-im-a-teapot-error.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAGzC;;;GAGG;AACH,MAAa,cAAe,SAAQ,sBAAS;IAC5C,YAAY,OAAO,GAAG,eAAe,EAAE,UAA4B,EAAE;QACpE,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACzB,CAAC;IAEe,aAAa;QAC5B,OAAO,GAAG,CAAC;IACZ,CAAC;CACD;AARD,wCAQC"}
@@ -0,0 +1,10 @@
1
+ import { HTTPError } from './http-error';
2
+ import { HttpErrorOptions } from '../error-options';
3
+ /**
4
+ * 421 Misdirected Request
5
+ * The request was directed at a server that is not able to produce a response
6
+ */
7
+ export declare class MisdirectedRequestError extends HTTPError {
8
+ constructor(message?: string, options?: HttpErrorOptions);
9
+ getStatusCode(): number;
10
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MisdirectedRequestError = void 0;
4
+ const http_error_1 = require("./http-error");
5
+ /**
6
+ * 421 Misdirected Request
7
+ * The request was directed at a server that is not able to produce a response
8
+ */
9
+ class MisdirectedRequestError extends http_error_1.HTTPError {
10
+ constructor(message = 'Misdirected Request', options = {}) {
11
+ super(message, options);
12
+ }
13
+ getStatusCode() {
14
+ return 421;
15
+ }
16
+ }
17
+ exports.MisdirectedRequestError = MisdirectedRequestError;
18
+ //# sourceMappingURL=421-misdirected-request-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"421-misdirected-request-error.js","sourceRoot":"","sources":["../../../../src/error/http-errors/421-misdirected-request-error.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAGzC;;;GAGG;AACH,MAAa,uBAAwB,SAAQ,sBAAS;IACrD,YACC,OAAO,GAAG,qBAAqB,EAC/B,UAA4B,EAAE;QAE9B,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACzB,CAAC;IAEe,aAAa;QAC5B,OAAO,GAAG,CAAC;IACZ,CAAC;CACD;AAXD,0DAWC"}
@@ -0,0 +1,10 @@
1
+ import { HTTPError } from './http-error';
2
+ import { HttpErrorOptions } from '../error-options';
3
+ /**
4
+ * 422 Unprocessable Entity
5
+ * The request was well-formed but contains semantic errors
6
+ */
7
+ export declare class UnprocessableEntityError extends HTTPError {
8
+ constructor(message?: string, options?: HttpErrorOptions);
9
+ getStatusCode(): number;
10
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UnprocessableEntityError = void 0;
4
+ const http_error_1 = require("./http-error");
5
+ /**
6
+ * 422 Unprocessable Entity
7
+ * The request was well-formed but contains semantic errors
8
+ */
9
+ class UnprocessableEntityError extends http_error_1.HTTPError {
10
+ constructor(message = 'Unprocessable Entity', options = {}) {
11
+ super(message, options);
12
+ }
13
+ getStatusCode() {
14
+ return 422;
15
+ }
16
+ }
17
+ exports.UnprocessableEntityError = UnprocessableEntityError;
18
+ //# sourceMappingURL=422-unprocessable-entity-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"422-unprocessable-entity-error.js","sourceRoot":"","sources":["../../../../src/error/http-errors/422-unprocessable-entity-error.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAGzC;;;GAGG;AACH,MAAa,wBAAyB,SAAQ,sBAAS;IACtD,YACC,OAAO,GAAG,sBAAsB,EAChC,UAA4B,EAAE;QAE9B,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACzB,CAAC;IAEe,aAAa;QAC5B,OAAO,GAAG,CAAC;IACZ,CAAC;CACD;AAXD,4DAWC"}
@@ -0,0 +1,10 @@
1
+ import { HTTPError } from './http-error';
2
+ import { HttpErrorOptions } from '../error-options';
3
+ /**
4
+ * 423 Locked
5
+ * The resource being accessed is locked
6
+ */
7
+ export declare class LockedError extends HTTPError {
8
+ constructor(message?: string, options?: HttpErrorOptions);
9
+ getStatusCode(): number;
10
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LockedError = void 0;
4
+ const http_error_1 = require("./http-error");
5
+ /**
6
+ * 423 Locked
7
+ * The resource being accessed is locked
8
+ */
9
+ class LockedError extends http_error_1.HTTPError {
10
+ constructor(message = 'Locked', options = {}) {
11
+ super(message, options);
12
+ }
13
+ getStatusCode() {
14
+ return 423;
15
+ }
16
+ }
17
+ exports.LockedError = LockedError;
18
+ //# sourceMappingURL=423-locked-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"423-locked-error.js","sourceRoot":"","sources":["../../../../src/error/http-errors/423-locked-error.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAGzC;;;GAGG;AACH,MAAa,WAAY,SAAQ,sBAAS;IACzC,YAAY,OAAO,GAAG,QAAQ,EAAE,UAA4B,EAAE;QAC7D,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACzB,CAAC;IAEe,aAAa;QAC5B,OAAO,GAAG,CAAC;IACZ,CAAC;CACD;AARD,kCAQC"}
@@ -0,0 +1,10 @@
1
+ import { HTTPError } from './http-error';
2
+ import { HttpErrorOptions } from '../error-options';
3
+ /**
4
+ * 424 Failed Dependency
5
+ * The request failed due to failure of a previous request
6
+ */
7
+ export declare class FailedDependencyError extends HTTPError {
8
+ constructor(message?: string, options?: HttpErrorOptions);
9
+ getStatusCode(): number;
10
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FailedDependencyError = void 0;
4
+ const http_error_1 = require("./http-error");
5
+ /**
6
+ * 424 Failed Dependency
7
+ * The request failed due to failure of a previous request
8
+ */
9
+ class FailedDependencyError extends http_error_1.HTTPError {
10
+ constructor(message = 'Failed Dependency', options = {}) {
11
+ super(message, options);
12
+ }
13
+ getStatusCode() {
14
+ return 424;
15
+ }
16
+ }
17
+ exports.FailedDependencyError = FailedDependencyError;
18
+ //# sourceMappingURL=424-failed-dependency-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"424-failed-dependency-error.js","sourceRoot":"","sources":["../../../../src/error/http-errors/424-failed-dependency-error.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAGzC;;;GAGG;AACH,MAAa,qBAAsB,SAAQ,sBAAS;IACnD,YAAY,OAAO,GAAG,mBAAmB,EAAE,UAA4B,EAAE;QACxE,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACzB,CAAC;IAEe,aAAa;QAC5B,OAAO,GAAG,CAAC;IACZ,CAAC;CACD;AARD,sDAQC"}
@@ -0,0 +1,10 @@
1
+ import { HTTPError } from './http-error';
2
+ import { HttpErrorOptions } from '../error-options';
3
+ /**
4
+ * 425 Too Early
5
+ * The server is unwilling to risk processing a request that might be replayed
6
+ */
7
+ export declare class TooEarlyError extends HTTPError {
8
+ constructor(message?: string, options?: HttpErrorOptions);
9
+ getStatusCode(): number;
10
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TooEarlyError = void 0;
4
+ const http_error_1 = require("./http-error");
5
+ /**
6
+ * 425 Too Early
7
+ * The server is unwilling to risk processing a request that might be replayed
8
+ */
9
+ class TooEarlyError extends http_error_1.HTTPError {
10
+ constructor(message = 'Too Early', options = {}) {
11
+ super(message, options);
12
+ }
13
+ getStatusCode() {
14
+ return 425;
15
+ }
16
+ }
17
+ exports.TooEarlyError = TooEarlyError;
18
+ //# sourceMappingURL=425-too-early-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"425-too-early-error.js","sourceRoot":"","sources":["../../../../src/error/http-errors/425-too-early-error.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAGzC;;;GAGG;AACH,MAAa,aAAc,SAAQ,sBAAS;IAC3C,YAAY,OAAO,GAAG,WAAW,EAAE,UAA4B,EAAE;QAChE,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACzB,CAAC;IAEe,aAAa;QAC5B,OAAO,GAAG,CAAC;IACZ,CAAC;CACD;AARD,sCAQC"}
@@ -0,0 +1,13 @@
1
+ import { HTTPError } from './http-error';
2
+ import { HttpErrorOptions } from '../error-options';
3
+ export interface UpgradeRequiredErrorOptions extends HttpErrorOptions {
4
+ upgradeProtocol?: string;
5
+ }
6
+ /**
7
+ * 426 Upgrade Required
8
+ * The client should switch to a different protocol
9
+ */
10
+ export declare class UpgradeRequiredError extends HTTPError {
11
+ constructor(message?: string, options?: UpgradeRequiredErrorOptions);
12
+ getStatusCode(): number;
13
+ }
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UpgradeRequiredError = void 0;
4
+ const http_error_1 = require("./http-error");
5
+ /**
6
+ * 426 Upgrade Required
7
+ * The client should switch to a different protocol
8
+ */
9
+ class UpgradeRequiredError extends http_error_1.HTTPError {
10
+ constructor(message = 'Upgrade Required', options = {}) {
11
+ const headers = {
12
+ Upgrade: options.upgradeProtocol || 'TLS/1.0',
13
+ ...options.headers,
14
+ };
15
+ super(message, { ...options, headers });
16
+ }
17
+ getStatusCode() {
18
+ return 426;
19
+ }
20
+ }
21
+ exports.UpgradeRequiredError = UpgradeRequiredError;
22
+ //# sourceMappingURL=426-upgrade-required-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"426-upgrade-required-error.js","sourceRoot":"","sources":["../../../../src/error/http-errors/426-upgrade-required-error.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAOzC;;;GAGG;AACH,MAAa,oBAAqB,SAAQ,sBAAS;IAClD,YACC,OAAO,GAAG,kBAAkB,EAC5B,UAAuC,EAAE;QAEzC,MAAM,OAAO,GAAG;YACf,OAAO,EAAE,OAAO,CAAC,eAAe,IAAI,SAAS;YAC7C,GAAG,OAAO,CAAC,OAAO;SAClB,CAAC;QACF,KAAK,CAAC,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IACzC,CAAC;IAEe,aAAa;QAC5B,OAAO,GAAG,CAAC;IACZ,CAAC;CACD;AAfD,oDAeC"}
@@ -0,0 +1,10 @@
1
+ import { HTTPError } from './http-error';
2
+ import { HttpErrorOptions } from '../error-options';
3
+ /**
4
+ * 428 Precondition Required
5
+ * The origin server requires the request to be conditional
6
+ */
7
+ export declare class PreconditionRequiredError extends HTTPError {
8
+ constructor(message?: string, options?: HttpErrorOptions);
9
+ getStatusCode(): number;
10
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PreconditionRequiredError = void 0;
4
+ const http_error_1 = require("./http-error");
5
+ /**
6
+ * 428 Precondition Required
7
+ * The origin server requires the request to be conditional
8
+ */
9
+ class PreconditionRequiredError extends http_error_1.HTTPError {
10
+ constructor(message = 'Precondition Required', options = {}) {
11
+ super(message, options);
12
+ }
13
+ getStatusCode() {
14
+ return 428;
15
+ }
16
+ }
17
+ exports.PreconditionRequiredError = PreconditionRequiredError;
18
+ //# sourceMappingURL=428-precondition-required-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"428-precondition-required-error.js","sourceRoot":"","sources":["../../../../src/error/http-errors/428-precondition-required-error.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAGzC;;;GAGG;AACH,MAAa,yBAA0B,SAAQ,sBAAS;IACvD,YACC,OAAO,GAAG,uBAAuB,EACjC,UAA4B,EAAE;QAE9B,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACzB,CAAC;IAEe,aAAa;QAC5B,OAAO,GAAG,CAAC;IACZ,CAAC;CACD;AAXD,8DAWC"}
@@ -0,0 +1,13 @@
1
+ import { HTTPError } from './http-error';
2
+ import { HttpErrorOptions } from '../error-options';
3
+ export interface TooManyRequestsErrorOptions extends HttpErrorOptions {
4
+ retryAfter?: number;
5
+ }
6
+ /**
7
+ * 429 Too Many Requests
8
+ * The user has sent too many requests in a given amount of time
9
+ */
10
+ export declare class TooManyRequestsError extends HTTPError {
11
+ constructor(message?: string, options?: TooManyRequestsErrorOptions);
12
+ getStatusCode(): number;
13
+ }
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TooManyRequestsError = void 0;
4
+ const http_error_1 = require("./http-error");
5
+ /**
6
+ * 429 Too Many Requests
7
+ * The user has sent too many requests in a given amount of time
8
+ */
9
+ class TooManyRequestsError extends http_error_1.HTTPError {
10
+ constructor(message = 'Too Many Requests', options = {}) {
11
+ const headers = {};
12
+ if (options.retryAfter) {
13
+ headers['Retry-After'] = options.retryAfter.toString();
14
+ }
15
+ super(message, {
16
+ ...options,
17
+ headers: { ...headers, ...options.headers },
18
+ });
19
+ }
20
+ getStatusCode() {
21
+ return 429;
22
+ }
23
+ }
24
+ exports.TooManyRequestsError = TooManyRequestsError;
25
+ //# sourceMappingURL=429-too-many-requests-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"429-too-many-requests-error.js","sourceRoot":"","sources":["../../../../src/error/http-errors/429-too-many-requests-error.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAOzC;;;GAGG;AACH,MAAa,oBAAqB,SAAQ,sBAAS;IAClD,YACC,OAAO,GAAG,mBAAmB,EAC7B,UAAuC,EAAE;QAEzC,MAAM,OAAO,GAA2B,EAAE,CAAC;QAC3C,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACxB,OAAO,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QACxD,CAAC;QACD,KAAK,CAAC,OAAO,EAAE;YACd,GAAG,OAAO;YACV,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE;SAC3C,CAAC,CAAC;IACJ,CAAC;IAEe,aAAa;QAC5B,OAAO,GAAG,CAAC;IACZ,CAAC;CACD;AAlBD,oDAkBC"}
@@ -0,0 +1,11 @@
1
+ import { HTTPError } from './http-error';
2
+ import { HttpErrorOptions } from '../error-options';
3
+ /**
4
+ * 431 Request Header Fields Too Large
5
+ * The server is unwilling to process the request because its header fields
6
+ * are too large
7
+ */
8
+ export declare class RequestHeaderFieldsTooLargeError extends HTTPError {
9
+ constructor(message?: string, options?: HttpErrorOptions);
10
+ getStatusCode(): number;
11
+ }
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RequestHeaderFieldsTooLargeError = void 0;
4
+ const http_error_1 = require("./http-error");
5
+ /**
6
+ * 431 Request Header Fields Too Large
7
+ * The server is unwilling to process the request because its header fields
8
+ * are too large
9
+ */
10
+ class RequestHeaderFieldsTooLargeError extends http_error_1.HTTPError {
11
+ constructor(message = 'Request Header Fields Too Large', options = {}) {
12
+ super(message, options);
13
+ }
14
+ getStatusCode() {
15
+ return 431;
16
+ }
17
+ }
18
+ exports.RequestHeaderFieldsTooLargeError = RequestHeaderFieldsTooLargeError;
19
+ //# sourceMappingURL=431-request-header-fields-too-large-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"431-request-header-fields-too-large-error.js","sourceRoot":"","sources":["../../../../src/error/http-errors/431-request-header-fields-too-large-error.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAGzC;;;;GAIG;AACH,MAAa,gCAAiC,SAAQ,sBAAS;IAC9D,YACC,OAAO,GAAG,iCAAiC,EAC3C,UAA4B,EAAE;QAE9B,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACzB,CAAC;IAEe,aAAa;QAC5B,OAAO,GAAG,CAAC;IACZ,CAAC;CACD;AAXD,4EAWC"}
@@ -0,0 +1,10 @@
1
+ import { HTTPError } from './http-error';
2
+ import { HttpErrorOptions } from '../error-options';
3
+ /**
4
+ * 451 Unavailable For Legal Reasons
5
+ * The user requested a resource that is not available due to legal reasons
6
+ */
7
+ export declare class UnavailableForLegalReasonsError extends HTTPError {
8
+ constructor(message?: string, options?: HttpErrorOptions);
9
+ getStatusCode(): number;
10
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UnavailableForLegalReasonsError = void 0;
4
+ const http_error_1 = require("./http-error");
5
+ /**
6
+ * 451 Unavailable For Legal Reasons
7
+ * The user requested a resource that is not available due to legal reasons
8
+ */
9
+ class UnavailableForLegalReasonsError extends http_error_1.HTTPError {
10
+ constructor(message = 'Unavailable For Legal Reasons', options = {}) {
11
+ super(message, options);
12
+ }
13
+ getStatusCode() {
14
+ return 451;
15
+ }
16
+ }
17
+ exports.UnavailableForLegalReasonsError = UnavailableForLegalReasonsError;
18
+ //# sourceMappingURL=451-unavailable-for-legal-reasons-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"451-unavailable-for-legal-reasons-error.js","sourceRoot":"","sources":["../../../../src/error/http-errors/451-unavailable-for-legal-reasons-error.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAGzC;;;GAGG;AACH,MAAa,+BAAgC,SAAQ,sBAAS;IAC7D,YACC,OAAO,GAAG,+BAA+B,EACzC,UAA4B,EAAE;QAE9B,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACzB,CAAC;IAEe,aAAa;QAC5B,OAAO,GAAG,CAAC;IACZ,CAAC;CACD;AAXD,0EAWC"}
@@ -0,0 +1,26 @@
1
+ import { HttpErrorOptions } from '../error-options';
2
+ /**
3
+ * Base HTTP Error class
4
+ * All HTTP errors extend from this class
5
+ */
6
+ export declare abstract class HTTPError extends Error {
7
+ readonly options: HttpErrorOptions;
8
+ readonly timestamp: string;
9
+ get headers(): Record<string, string>;
10
+ get details(): unknown;
11
+ constructor(message: string, options?: HttpErrorOptions);
12
+ /**
13
+ * Abstract method to get the status code for this error
14
+ * Must be implemented by subclasses
15
+ */
16
+ abstract getStatusCode(): number;
17
+ /**
18
+ * Converts the error to a JSON-serializable object
19
+ */
20
+ getResponseJson(): {
21
+ error: string;
22
+ message: string;
23
+ timestamp: string;
24
+ options: HttpErrorOptions;
25
+ };
26
+ }
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HTTPError = void 0;
4
+ /**
5
+ * Base HTTP Error class
6
+ * All HTTP errors extend from this class
7
+ */
8
+ class HTTPError extends Error {
9
+ options = {};
10
+ timestamp = new Date().toISOString();
11
+ get headers() {
12
+ return this.options.headers || {};
13
+ }
14
+ get details() {
15
+ return this.options.details;
16
+ }
17
+ constructor(message, options = {}) {
18
+ super(message);
19
+ this.name = this.constructor.name;
20
+ this.options = options;
21
+ // Maintains proper stack trace for where our error was thrown
22
+ Error.captureStackTrace(this, this.constructor);
23
+ }
24
+ /**
25
+ * Converts the error to a JSON-serializable object
26
+ */
27
+ getResponseJson() {
28
+ return {
29
+ error: this.name,
30
+ message: this.message,
31
+ timestamp: this.timestamp,
32
+ options: this.options,
33
+ };
34
+ }
35
+ }
36
+ exports.HTTPError = HTTPError;
37
+ //# sourceMappingURL=http-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-error.js","sourceRoot":"","sources":["../../../../src/error/http-errors/http-error.ts"],"names":[],"mappings":";;;AAEA;;;GAGG;AACH,MAAsB,SAAU,SAAQ,KAAK;IAC5B,OAAO,GAAqB,EAAE,CAAC;IAC/B,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAErD,IAAW,OAAO;QACjB,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;IACnC,CAAC;IAED,IAAW,OAAO;QACjB,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;IAC7B,CAAC;IAED,YAAY,OAAe,EAAE,UAA4B,EAAE;QAC1D,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAClC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,8DAA8D;QAC9D,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACjD,CAAC;IAQD;;OAEG;IACI,eAAe;QACrB,OAAO;YACN,KAAK,EAAE,IAAI,CAAC,IAAI;YAChB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO;SACrB,CAAC;IACH,CAAC;CACD;AAtCD,8BAsCC"}
@@ -0,0 +1,30 @@
1
+ export { HTTPError } from './http-error';
2
+ export { BadRequestError } from './400-bad-request-error';
3
+ export { UnauthorizedError, UnauthorizedErrorOptions, } from './401-unauthorized-error';
4
+ export { PaymentRequiredError } from './402-payment-required-error';
5
+ export { ForbiddenError } from './403-forbidden-error';
6
+ export { NotFoundError } from './404-not-found-error';
7
+ export { MethodNotAllowedError, MethodNotAllowedErrorOptions, } from './405-method-not-allowed-error';
8
+ export { NotAcceptableError } from './406-not-acceptable-error';
9
+ export { ProxyAuthenticationRequiredError, ProxyAuthenticationRequiredErrorOptions, } from './407-proxy-authentication-required-error';
10
+ export { RequestTimeoutError } from './408-request-timeout-error';
11
+ export { ConflictError } from './409-conflict-error';
12
+ export { GoneError } from './410-gone-error';
13
+ export { LengthRequiredError } from './411-length-required-error';
14
+ export { PreconditionFailedError } from './412-precondition-failed-error';
15
+ export { PayloadTooLargeError } from './413-payload-too-large-error';
16
+ export { URITooLongError } from './414-uri-too-long-error';
17
+ export { UnsupportedMediaTypeError, UnsupportedMediaTypeErrorOptions, } from './415-unsupported-media-type-error';
18
+ export { RangeNotSatisfiableError, RangeNotSatisfiableErrorOptions, } from './416-range-not-satisfiable-error';
19
+ export { ExpectationFailedError } from './417-expectation-failed-error';
20
+ export { ImATeapotError } from './418-im-a-teapot-error';
21
+ export { MisdirectedRequestError } from './421-misdirected-request-error';
22
+ export { UnprocessableEntityError } from './422-unprocessable-entity-error';
23
+ export { LockedError } from './423-locked-error';
24
+ export { FailedDependencyError } from './424-failed-dependency-error';
25
+ export { TooEarlyError } from './425-too-early-error';
26
+ export { UpgradeRequiredError, UpgradeRequiredErrorOptions, } from './426-upgrade-required-error';
27
+ export { PreconditionRequiredError } from './428-precondition-required-error';
28
+ export { TooManyRequestsError, TooManyRequestsErrorOptions, } from './429-too-many-requests-error';
29
+ export { RequestHeaderFieldsTooLargeError } from './431-request-header-fields-too-large-error';
30
+ export { UnavailableForLegalReasonsError } from './451-unavailable-for-legal-reasons-error';