@loopback/rest 4.0.0-alpha.8 → 5.0.1

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 (388) hide show
  1. package/CHANGELOG.md +1822 -0
  2. package/LICENSE +1 -1
  3. package/README.md +30 -58
  4. package/dist/body-parsers/body-parser.d.ts +25 -0
  5. package/dist/body-parsers/body-parser.helpers.d.ts +44 -0
  6. package/dist/body-parsers/body-parser.helpers.js +102 -0
  7. package/dist/body-parsers/body-parser.helpers.js.map +1 -0
  8. package/dist/body-parsers/body-parser.js +159 -0
  9. package/dist/body-parsers/body-parser.js.map +1 -0
  10. package/dist/body-parsers/body-parser.json.d.ts +9 -0
  11. package/dist/body-parsers/body-parser.json.js +43 -0
  12. package/dist/body-parsers/body-parser.json.js.map +1 -0
  13. package/dist/body-parsers/body-parser.raw.d.ts +12 -0
  14. package/dist/body-parsers/body-parser.raw.js +39 -0
  15. package/dist/body-parsers/body-parser.raw.js.map +1 -0
  16. package/dist/body-parsers/body-parser.stream.d.ts +12 -0
  17. package/dist/body-parsers/body-parser.stream.js +28 -0
  18. package/dist/body-parsers/body-parser.stream.js.map +1 -0
  19. package/dist/body-parsers/body-parser.text.d.ts +9 -0
  20. package/dist/body-parsers/body-parser.text.js +38 -0
  21. package/dist/body-parsers/body-parser.text.js.map +1 -0
  22. package/dist/body-parsers/body-parser.urlencoded.d.ts +9 -0
  23. package/dist/body-parsers/body-parser.urlencoded.js +36 -0
  24. package/dist/body-parsers/body-parser.urlencoded.js.map +1 -0
  25. package/dist/body-parsers/index.d.ts +8 -0
  26. package/dist/body-parsers/index.js +16 -0
  27. package/dist/body-parsers/index.js.map +1 -0
  28. package/dist/body-parsers/types.d.ts +51 -0
  29. package/dist/body-parsers/types.js +12 -0
  30. package/dist/body-parsers/types.js.map +1 -0
  31. package/dist/coercion/coerce-parameter.d.ts +9 -0
  32. package/dist/coercion/coerce-parameter.js +166 -0
  33. package/dist/coercion/coerce-parameter.js.map +1 -0
  34. package/dist/coercion/utils.d.ts +43 -0
  35. package/dist/coercion/utils.js +96 -0
  36. package/dist/coercion/utils.js.map +1 -0
  37. package/dist/coercion/validator.d.ts +49 -0
  38. package/dist/coercion/validator.js +85 -0
  39. package/dist/coercion/validator.js.map +1 -0
  40. package/dist/http-handler.d.ts +38 -0
  41. package/dist/http-handler.js +68 -0
  42. package/dist/http-handler.js.map +1 -0
  43. package/dist/index.d.ts +36 -1
  44. package/dist/index.js +40 -6
  45. package/dist/index.js.map +1 -0
  46. package/dist/keys.d.ts +198 -0
  47. package/dist/keys.js +202 -0
  48. package/dist/keys.js.map +1 -0
  49. package/dist/parse-json.d.ts +11 -0
  50. package/dist/parse-json.js +42 -0
  51. package/dist/parse-json.js.map +1 -0
  52. package/dist/parser.d.ts +11 -0
  53. package/dist/parser.js +76 -0
  54. package/dist/parser.js.map +1 -0
  55. package/{dist6/src/providers/find-route.d.ts → dist/providers/find-route.provider.d.ts} +3 -1
  56. package/dist/providers/find-route.provider.js +36 -0
  57. package/dist/providers/find-route.provider.js.map +1 -0
  58. package/dist/providers/index.d.ts +6 -0
  59. package/dist/providers/index.js +14 -0
  60. package/dist/providers/index.js.map +1 -0
  61. package/dist/{src/providers/invoke-method.d.ts → providers/invoke-method.provider.d.ts} +3 -1
  62. package/dist/providers/invoke-method.provider.js +30 -0
  63. package/dist/providers/invoke-method.provider.js.map +1 -0
  64. package/dist/providers/log-error.provider.d.ts +6 -0
  65. package/dist/providers/log-error.provider.js +21 -0
  66. package/dist/providers/log-error.provider.js.map +1 -0
  67. package/dist/providers/parse-params.provider.d.ts +15 -0
  68. package/dist/providers/parse-params.provider.js +41 -0
  69. package/dist/providers/parse-params.provider.js.map +1 -0
  70. package/dist/providers/reject.provider.d.ts +10 -0
  71. package/dist/providers/reject.provider.js +47 -0
  72. package/dist/providers/reject.provider.js.map +1 -0
  73. package/dist/{src/providers/send.d.ts → providers/send.provider.d.ts} +1 -4
  74. package/dist/{src/providers/send.js → providers/send.provider.js} +4 -6
  75. package/dist/providers/send.provider.js.map +1 -0
  76. package/dist/request-context.d.ts +36 -0
  77. package/dist/request-context.js +104 -0
  78. package/dist/request-context.js.map +1 -0
  79. package/dist/rest-http-error.d.ts +37 -0
  80. package/dist/rest-http-error.js +51 -0
  81. package/dist/rest-http-error.js.map +1 -0
  82. package/dist/rest.application.d.ts +232 -0
  83. package/dist/rest.application.js +174 -0
  84. package/dist/rest.application.js.map +1 -0
  85. package/dist/rest.component.d.ts +15 -0
  86. package/dist/rest.component.js +72 -0
  87. package/dist/rest.component.js.map +1 -0
  88. package/dist/rest.server.d.ts +443 -0
  89. package/dist/rest.server.js +748 -0
  90. package/dist/rest.server.js.map +1 -0
  91. package/dist/router/base-route.d.ts +29 -0
  92. package/dist/router/base-route.js +41 -0
  93. package/dist/router/base-route.js.map +1 -0
  94. package/dist/router/controller-route.d.ts +61 -0
  95. package/dist/router/controller-route.js +160 -0
  96. package/dist/router/controller-route.js.map +1 -0
  97. package/dist/router/external-express-routes.d.ts +24 -0
  98. package/dist/router/external-express-routes.js +90 -0
  99. package/dist/router/external-express-routes.js.map +1 -0
  100. package/dist/router/handler-route.d.ts +12 -0
  101. package/dist/router/handler-route.js +30 -0
  102. package/dist/router/handler-route.js.map +1 -0
  103. package/dist/router/index.d.ts +14 -0
  104. package/dist/router/index.js +25 -0
  105. package/dist/router/index.js.map +1 -0
  106. package/dist/router/openapi-path.d.ts +14 -0
  107. package/dist/router/openapi-path.js +64 -0
  108. package/dist/router/openapi-path.js.map +1 -0
  109. package/dist/router/redirect-route.d.ts +23 -0
  110. package/dist/router/redirect-route.js +50 -0
  111. package/dist/router/redirect-route.js.map +1 -0
  112. package/dist/router/regexp-router.d.ts +25 -0
  113. package/dist/router/regexp-router.js +84 -0
  114. package/dist/router/regexp-router.js.map +1 -0
  115. package/dist/router/rest-router.d.ts +35 -0
  116. package/dist/{src/internal-types.js → router/rest-router.js} +2 -2
  117. package/dist/router/rest-router.js.map +1 -0
  118. package/dist/router/route-entry.d.ts +46 -0
  119. package/dist/router/route-entry.js +20 -0
  120. package/dist/router/route-entry.js.map +1 -0
  121. package/dist/router/route-sort.d.ts +7 -0
  122. package/dist/router/route-sort.js +75 -0
  123. package/dist/router/route-sort.js.map +1 -0
  124. package/dist/router/router-base.d.ts +42 -0
  125. package/dist/router/router-base.js +101 -0
  126. package/dist/router/router-base.js.map +1 -0
  127. package/dist/router/router-spec.d.ts +3 -0
  128. package/dist/router/router-spec.js +40 -0
  129. package/dist/router/router-spec.js.map +1 -0
  130. package/dist/router/routing-table.d.ts +32 -0
  131. package/dist/router/routing-table.js +86 -0
  132. package/dist/router/routing-table.js.map +1 -0
  133. package/dist/router/trie-router.d.ts +13 -0
  134. package/dist/router/trie-router.js +55 -0
  135. package/dist/router/trie-router.js.map +1 -0
  136. package/dist/router/trie.d.ts +59 -0
  137. package/dist/router/trie.js +180 -0
  138. package/dist/router/trie.js.map +1 -0
  139. package/{dist6/src → dist}/sequence.d.ts +28 -23
  140. package/dist/sequence.js +112 -0
  141. package/dist/sequence.js.map +1 -0
  142. package/dist/spec-enhancers/consolidate.spec-enhancer.d.ts +68 -0
  143. package/dist/spec-enhancers/consolidate.spec-enhancer.js +145 -0
  144. package/dist/spec-enhancers/consolidate.spec-enhancer.js.map +1 -0
  145. package/dist/spec-enhancers/info.spec-enhancer.d.ts +19 -0
  146. package/dist/spec-enhancers/info.spec-enhancer.js +89 -0
  147. package/dist/spec-enhancers/info.spec-enhancer.js.map +1 -0
  148. package/dist/types.d.ts +178 -0
  149. package/dist/types.js +12 -0
  150. package/dist/types.js.map +1 -0
  151. package/dist/validation/ajv-factory.provider.d.ts +12 -0
  152. package/dist/validation/ajv-factory.provider.js +87 -0
  153. package/dist/validation/ajv-factory.provider.js.map +1 -0
  154. package/dist/validation/request-body.validator.d.ts +14 -0
  155. package/dist/validation/request-body.validator.js +161 -0
  156. package/dist/validation/request-body.validator.js.map +1 -0
  157. package/dist/writer.d.ts +9 -0
  158. package/dist/writer.js +62 -0
  159. package/dist/writer.js.map +1 -0
  160. package/package.json +66 -38
  161. package/src/body-parsers/body-parser.helpers.ts +148 -0
  162. package/src/body-parsers/body-parser.json.ts +46 -0
  163. package/src/body-parsers/body-parser.raw.ts +42 -0
  164. package/src/body-parsers/body-parser.stream.ts +27 -0
  165. package/src/body-parsers/body-parser.text.ts +44 -0
  166. package/src/body-parsers/body-parser.ts +208 -0
  167. package/src/body-parsers/body-parser.urlencoded.ts +42 -0
  168. package/src/body-parsers/index.ts +13 -0
  169. package/src/body-parsers/types.ts +60 -0
  170. package/src/coercion/coerce-parameter.ts +207 -0
  171. package/src/coercion/utils.ts +103 -0
  172. package/src/coercion/validator.ts +98 -0
  173. package/src/http-handler.ts +84 -41
  174. package/src/index.ts +37 -30
  175. package/src/keys.ts +273 -20
  176. package/src/parse-json.ts +42 -0
  177. package/src/parser.ts +89 -104
  178. package/src/providers/{find-route.ts → find-route.provider.ts} +10 -7
  179. package/src/providers/index.ts +7 -9
  180. package/src/providers/{invoke-method.ts → invoke-method.provider.ts} +8 -5
  181. package/src/providers/log-error.provider.ts +27 -0
  182. package/src/providers/parse-params.provider.ts +42 -0
  183. package/src/providers/reject.provider.ts +44 -0
  184. package/src/providers/{send.ts → send.provider.ts} +2 -5
  185. package/src/request-context.ts +123 -0
  186. package/src/rest-http-error.ts +87 -0
  187. package/src/rest.application.ts +390 -0
  188. package/src/rest.component.ts +111 -0
  189. package/src/rest.server.ts +1192 -0
  190. package/src/router/base-route.ts +53 -0
  191. package/src/router/controller-route.ts +241 -0
  192. package/src/router/external-express-routes.ts +139 -0
  193. package/src/router/handler-route.ts +44 -0
  194. package/src/router/index.ts +24 -0
  195. package/src/router/openapi-path.ts +67 -0
  196. package/src/router/redirect-route.ts +64 -0
  197. package/src/router/regexp-router.ts +104 -0
  198. package/src/router/rest-router.ts +48 -0
  199. package/src/router/route-entry.ts +74 -0
  200. package/src/router/route-sort.ts +74 -0
  201. package/src/router/router-base.ts +124 -0
  202. package/src/router/router-spec.ts +36 -0
  203. package/src/router/routing-table.ts +83 -279
  204. package/src/router/trie-router.ts +57 -0
  205. package/src/router/trie.ts +233 -0
  206. package/src/sequence.ts +44 -37
  207. package/src/spec-enhancers/consolidate.spec-enhancer.ts +182 -0
  208. package/src/spec-enhancers/info.spec-enhancer.ts +92 -0
  209. package/src/types.ts +216 -0
  210. package/src/validation/ajv-factory.provider.ts +94 -0
  211. package/src/validation/request-body.validator.ts +208 -0
  212. package/src/writer.ts +41 -68
  213. package/api-docs/.DS_Store +0 -0
  214. package/api-docs/apple-touch-icon-114x114-precomposed.png +0 -0
  215. package/api-docs/apple-touch-icon-144x144-precomposed.png +0 -0
  216. package/api-docs/apple-touch-icon-57x57-precomposed.png +0 -0
  217. package/api-docs/apple-touch-icon-72x72-precomposed.png +0 -0
  218. package/api-docs/apple-touch-icon-precomposed.png +0 -0
  219. package/api-docs/apple-touch-icon.png +0 -0
  220. package/api-docs/css/bootstrap.min.css +0 -9
  221. package/api-docs/css/code-themes/arta.css +0 -158
  222. package/api-docs/css/code-themes/ascetic.css +0 -50
  223. package/api-docs/css/code-themes/brown_paper.css +0 -104
  224. package/api-docs/css/code-themes/brown_papersq.png +0 -0
  225. package/api-docs/css/code-themes/dark.css +0 -103
  226. package/api-docs/css/code-themes/default.css +0 -135
  227. package/api-docs/css/code-themes/far.css +0 -111
  228. package/api-docs/css/code-themes/github.css +0 -127
  229. package/api-docs/css/code-themes/googlecode.css +0 -144
  230. package/api-docs/css/code-themes/idea.css +0 -121
  231. package/api-docs/css/code-themes/ir_black.css +0 -104
  232. package/api-docs/css/code-themes/magula.css +0 -121
  233. package/api-docs/css/code-themes/monokai.css +0 -114
  234. package/api-docs/css/code-themes/pojoaque.css +0 -104
  235. package/api-docs/css/code-themes/pojoaque.jpg +0 -0
  236. package/api-docs/css/code-themes/rainbow.css +0 -114
  237. package/api-docs/css/code-themes/school_book.css +0 -111
  238. package/api-docs/css/code-themes/school_book.png +0 -0
  239. package/api-docs/css/code-themes/sl-theme.css +0 -45
  240. package/api-docs/css/code-themes/solarized_dark.css +0 -88
  241. package/api-docs/css/code-themes/solarized_light.css +0 -88
  242. package/api-docs/css/code-themes/sunburst.css +0 -158
  243. package/api-docs/css/code-themes/tomorrow-night-blue.css +0 -52
  244. package/api-docs/css/code-themes/tomorrow-night-bright.css +0 -51
  245. package/api-docs/css/code-themes/tomorrow-night-eighties.css +0 -51
  246. package/api-docs/css/code-themes/tomorrow-night.css +0 -52
  247. package/api-docs/css/code-themes/tomorrow.css +0 -49
  248. package/api-docs/css/code-themes/vs.css +0 -86
  249. package/api-docs/css/code-themes/xcode.css +0 -154
  250. package/api-docs/css/code-themes/zenburn.css +0 -115
  251. package/api-docs/css/main.css +0 -139
  252. package/api-docs/favicon.ico +0 -0
  253. package/api-docs/fonts/0ihfXUL2emPh0ROJezvraLO3LdcAZYWl9Si6vvxL-qU.woff +0 -0
  254. package/api-docs/fonts/OsJ2DjdpjqFRVUSto6IffLO3LdcAZYWl9Si6vvxL-qU.woff +0 -0
  255. package/api-docs/fonts/_aijTyevf54tkVDLy-dlnLO3LdcAZYWl9Si6vvxL-qU.woff +0 -0
  256. package/api-docs/index.html +0 -7082
  257. package/api-docs/js/main.js +0 -19
  258. package/api-docs/js/vendor/bootstrap.min.js +0 -6
  259. package/api-docs/js/vendor/jquery-1.10.1.min.js +0 -6
  260. package/api-docs/js/vendor/jquery.scrollTo-1.4.3.1.js +0 -218
  261. package/api-docs/js/vendor/modernizr-2.6.2-respond-1.1.0.min.js +0 -11
  262. package/dist/src/http-handler.d.ts +0 -19
  263. package/dist/src/http-handler.js +0 -43
  264. package/dist/src/http-handler.js.map +0 -1
  265. package/dist/src/index.d.ts +0 -14
  266. package/dist/src/index.js +0 -33
  267. package/dist/src/index.js.map +0 -1
  268. package/dist/src/internal-types.d.ts +0 -67
  269. package/dist/src/internal-types.js.map +0 -1
  270. package/dist/src/keys.d.ts +0 -22
  271. package/dist/src/keys.js +0 -35
  272. package/dist/src/keys.js.map +0 -1
  273. package/dist/src/parser.d.ts +0 -11
  274. package/dist/src/parser.js +0 -98
  275. package/dist/src/parser.js.map +0 -1
  276. package/dist/src/providers/bind-element.d.ts +0 -7
  277. package/dist/src/providers/bind-element.js +0 -34
  278. package/dist/src/providers/bind-element.js.map +0 -1
  279. package/dist/src/providers/find-route.d.ts +0 -9
  280. package/dist/src/providers/find-route.js +0 -42
  281. package/dist/src/providers/find-route.js.map +0 -1
  282. package/dist/src/providers/get-from-context.d.ts +0 -7
  283. package/dist/src/providers/get-from-context.js +0 -34
  284. package/dist/src/providers/get-from-context.js.map +0 -1
  285. package/dist/src/providers/index.d.ts +0 -8
  286. package/dist/src/providers/index.js +0 -18
  287. package/dist/src/providers/index.js.map +0 -1
  288. package/dist/src/providers/invoke-method.js +0 -36
  289. package/dist/src/providers/invoke-method.js.map +0 -1
  290. package/dist/src/providers/log-error-provider.d.ts +0 -6
  291. package/dist/src/providers/log-error-provider.js +0 -17
  292. package/dist/src/providers/log-error-provider.js.map +0 -1
  293. package/dist/src/providers/parse-params.d.ts +0 -13
  294. package/dist/src/providers/parse-params.js +0 -22
  295. package/dist/src/providers/parse-params.js.map +0 -1
  296. package/dist/src/providers/reject.d.ts +0 -6
  297. package/dist/src/providers/reject.js +0 -40
  298. package/dist/src/providers/reject.js.map +0 -1
  299. package/dist/src/providers/send.js.map +0 -1
  300. package/dist/src/rest-component.d.ts +0 -12
  301. package/dist/src/rest-component.js +0 -50
  302. package/dist/src/rest-component.js.map +0 -1
  303. package/dist/src/rest-server.d.ts +0 -211
  304. package/dist/src/rest-server.js +0 -426
  305. package/dist/src/rest-server.js.map +0 -1
  306. package/dist/src/router/metadata.d.ts +0 -150
  307. package/dist/src/router/metadata.js +0 -410
  308. package/dist/src/router/metadata.js.map +0 -1
  309. package/dist/src/router/routing-table.d.ts +0 -68
  310. package/dist/src/router/routing-table.js +0 -204
  311. package/dist/src/router/routing-table.js.map +0 -1
  312. package/dist/src/sequence.d.ts +0 -81
  313. package/dist/src/sequence.js +0 -104
  314. package/dist/src/sequence.js.map +0 -1
  315. package/dist/src/writer.d.ts +0 -17
  316. package/dist/src/writer.js +0 -87
  317. package/dist/src/writer.js.map +0 -1
  318. package/dist6/index.d.ts +0 -1
  319. package/dist6/index.js +0 -12
  320. package/dist6/src/http-handler.d.ts +0 -19
  321. package/dist6/src/http-handler.js +0 -53
  322. package/dist6/src/http-handler.js.map +0 -1
  323. package/dist6/src/index.d.ts +0 -14
  324. package/dist6/src/index.js +0 -33
  325. package/dist6/src/index.js.map +0 -1
  326. package/dist6/src/internal-types.d.ts +0 -67
  327. package/dist6/src/internal-types.js +0 -7
  328. package/dist6/src/internal-types.js.map +0 -1
  329. package/dist6/src/keys.d.ts +0 -22
  330. package/dist6/src/keys.js +0 -35
  331. package/dist6/src/keys.js.map +0 -1
  332. package/dist6/src/parser.d.ts +0 -11
  333. package/dist6/src/parser.js +0 -108
  334. package/dist6/src/parser.js.map +0 -1
  335. package/dist6/src/providers/bind-element.d.ts +0 -7
  336. package/dist6/src/providers/bind-element.js +0 -34
  337. package/dist6/src/providers/bind-element.js.map +0 -1
  338. package/dist6/src/providers/find-route.js +0 -42
  339. package/dist6/src/providers/find-route.js.map +0 -1
  340. package/dist6/src/providers/get-from-context.d.ts +0 -7
  341. package/dist6/src/providers/get-from-context.js +0 -34
  342. package/dist6/src/providers/get-from-context.js.map +0 -1
  343. package/dist6/src/providers/index.d.ts +0 -8
  344. package/dist6/src/providers/index.js +0 -18
  345. package/dist6/src/providers/index.js.map +0 -1
  346. package/dist6/src/providers/invoke-method.d.ts +0 -7
  347. package/dist6/src/providers/invoke-method.js +0 -44
  348. package/dist6/src/providers/invoke-method.js.map +0 -1
  349. package/dist6/src/providers/log-error-provider.d.ts +0 -6
  350. package/dist6/src/providers/log-error-provider.js +0 -17
  351. package/dist6/src/providers/log-error-provider.js.map +0 -1
  352. package/dist6/src/providers/parse-params.d.ts +0 -13
  353. package/dist6/src/providers/parse-params.js +0 -22
  354. package/dist6/src/providers/parse-params.js.map +0 -1
  355. package/dist6/src/providers/reject.d.ts +0 -6
  356. package/dist6/src/providers/reject.js +0 -40
  357. package/dist6/src/providers/reject.js.map +0 -1
  358. package/dist6/src/providers/send.d.ts +0 -15
  359. package/dist6/src/providers/send.js +0 -24
  360. package/dist6/src/providers/send.js.map +0 -1
  361. package/dist6/src/rest-component.d.ts +0 -12
  362. package/dist6/src/rest-component.js +0 -50
  363. package/dist6/src/rest-component.js.map +0 -1
  364. package/dist6/src/rest-server.d.ts +0 -211
  365. package/dist6/src/rest-server.js +0 -444
  366. package/dist6/src/rest-server.js.map +0 -1
  367. package/dist6/src/router/metadata.d.ts +0 -150
  368. package/dist6/src/router/metadata.js +0 -410
  369. package/dist6/src/router/metadata.js.map +0 -1
  370. package/dist6/src/router/routing-table.d.ts +0 -68
  371. package/dist6/src/router/routing-table.js +0 -218
  372. package/dist6/src/router/routing-table.js.map +0 -1
  373. package/dist6/src/sequence.js +0 -114
  374. package/dist6/src/sequence.js.map +0 -1
  375. package/dist6/src/writer.d.ts +0 -17
  376. package/dist6/src/writer.js +0 -87
  377. package/dist6/src/writer.js.map +0 -1
  378. package/index.d.ts +0 -6
  379. package/index.js +0 -9
  380. package/src/internal-types.ts +0 -96
  381. package/src/providers/bind-element.ts +0 -15
  382. package/src/providers/get-from-context.ts +0 -16
  383. package/src/providers/log-error-provider.ts +0 -23
  384. package/src/providers/parse-params.ts +0 -20
  385. package/src/providers/reject.ts +0 -27
  386. package/src/rest-component.ts +0 -54
  387. package/src/rest-server.ts +0 -584
  388. package/src/router/metadata.ts +0 -517
@@ -1,36 +0,0 @@
1
- "use strict";
2
- // Copyright IBM Corp. 2017. All Rights Reserved.
3
- // Node module: @loopback/rest
4
- // This file is licensed under the MIT License.
5
- // License text available at https://opensource.org/licenses/MIT
6
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
7
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
8
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
9
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
10
- return c > 3 && r && Object.defineProperty(target, key, r), r;
11
- };
12
- var __metadata = (this && this.__metadata) || function (k, v) {
13
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
14
- };
15
- var __param = (this && this.__param) || function (paramIndex, decorator) {
16
- return function (target, key) { decorator(target, key, paramIndex); }
17
- };
18
- Object.defineProperty(exports, "__esModule", { value: true });
19
- const context_1 = require("@loopback/context");
20
- const keys_1 = require("../keys");
21
- let InvokeMethodProvider = class InvokeMethodProvider {
22
- constructor(context) {
23
- this.context = context;
24
- }
25
- value() {
26
- return async (route, args) => {
27
- return await route.invokeHandler(this.context, args);
28
- };
29
- }
30
- };
31
- InvokeMethodProvider = __decorate([
32
- __param(0, context_1.inject(keys_1.RestBindings.Http.CONTEXT)),
33
- __metadata("design:paramtypes", [context_1.Context])
34
- ], InvokeMethodProvider);
35
- exports.InvokeMethodProvider = InvokeMethodProvider;
36
- //# sourceMappingURL=invoke-method.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"invoke-method.js","sourceRoot":"","sources":["../../../src/providers/invoke-method.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,8BAA8B;AAC9B,+CAA+C;AAC/C,gEAAgE;;;;;;;;;;;;;;AAEhE,+CAA4D;AAE5D,kCAAqC;AAErC,IAAa,oBAAoB,GAAjC;IACE,YAAyD,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;IAAG,CAAC;IAE7E,KAAK;QACH,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YAC3B,MAAM,CAAC,MAAM,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACvD,CAAC,CAAC;IACJ,CAAC;CACF,CAAA;AARY,oBAAoB;IAClB,WAAA,gBAAM,CAAC,mBAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;qCAAoB,iBAAO;GAD9D,oBAAoB,CAQhC;AARY,oDAAoB"}
@@ -1,6 +0,0 @@
1
- /// <reference types="node" />
2
- import { BoundValue, Provider } from '@loopback/context';
3
- import { ServerRequest } from '../';
4
- export declare class LogErrorProvider implements Provider<BoundValue> {
5
- value(): (err: Error, statusCode: number, req: ServerRequest) => void;
6
- }
@@ -1,17 +0,0 @@
1
- "use strict";
2
- // Copyright IBM Corp. 2017. All Rights Reserved.
3
- // Node module: @loopback/rest
4
- // This file is licensed under the MIT License.
5
- // License text available at https://opensource.org/licenses/MIT
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- class LogErrorProvider {
8
- value() {
9
- return (err, statusCode, req) => {
10
- if (statusCode >= 500) {
11
- console.error('Unhandled error in %s %s: %s %s', req.method, req.url, statusCode, err.stack || err);
12
- }
13
- };
14
- }
15
- }
16
- exports.LogErrorProvider = LogErrorProvider;
17
- //# sourceMappingURL=log-error-provider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"log-error-provider.js","sourceRoot":"","sources":["../../../src/providers/log-error-provider.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,8BAA8B;AAC9B,+CAA+C;AAC/C,gEAAgE;;AAKhE;IACE,KAAK;QACH,MAAM,CAAC,CAAC,GAAU,EAAE,UAAkB,EAAE,GAAkB,EAAE,EAAE;YAC5D,EAAE,CAAC,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC,CAAC;gBACtB,OAAO,CAAC,KAAK,CACX,iCAAiC,EACjC,GAAG,CAAC,MAAM,EACV,GAAG,CAAC,GAAG,EACP,UAAU,EACV,GAAG,CAAC,KAAK,IAAI,GAAG,CACjB,CAAC;YACJ,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;CACF;AAdD,4CAcC"}
@@ -1,13 +0,0 @@
1
- import { Provider, BoundValue } from '@loopback/context';
2
- import { parseOperationArgs } from '../parser';
3
- /**
4
- * Provides the function for parsing args in requests at runtime.
5
- *
6
- * @export
7
- * @class ParseParamsProvider
8
- * @implements {Provider<BoundValue>}
9
- * @returns {BoundValue} The handler function that will parse request args.
10
- */
11
- export declare class ParseParamsProvider implements Provider<BoundValue> {
12
- value(): typeof parseOperationArgs;
13
- }
@@ -1,22 +0,0 @@
1
- "use strict";
2
- // Copyright IBM Corp. 2017. All Rights Reserved.
3
- // Node module: @loopback/rest
4
- // This file is licensed under the MIT License.
5
- // License text available at https://opensource.org/licenses/MIT
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- const parser_1 = require("../parser");
8
- /**
9
- * Provides the function for parsing args in requests at runtime.
10
- *
11
- * @export
12
- * @class ParseParamsProvider
13
- * @implements {Provider<BoundValue>}
14
- * @returns {BoundValue} The handler function that will parse request args.
15
- */
16
- class ParseParamsProvider {
17
- value() {
18
- return parser_1.parseOperationArgs;
19
- }
20
- }
21
- exports.ParseParamsProvider = ParseParamsProvider;
22
- //# sourceMappingURL=parse-params.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parse-params.js","sourceRoot":"","sources":["../../../src/providers/parse-params.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,8BAA8B;AAC9B,+CAA+C;AAC/C,gEAAgE;;AAGhE,sCAA6C;AAC7C;;;;;;;GAOG;AACH;IACE,KAAK;QACH,MAAM,CAAC,2BAAkB,CAAC;IAC5B,CAAC;CACF;AAJD,kDAIC"}
@@ -1,6 +0,0 @@
1
- import { LogError, Reject } from '../internal-types';
2
- export declare class RejectProvider {
3
- protected logError: LogError;
4
- constructor(logError: LogError);
5
- value(): Reject;
6
- }
@@ -1,40 +0,0 @@
1
- "use strict";
2
- // Copyright IBM Corp. 2017. All Rights Reserved.
3
- // Node module: loopback
4
- // This file is licensed under the MIT License.
5
- // License text available at https://opensource.org/licenses/MIT
6
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
7
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
8
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
9
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
10
- return c > 3 && r && Object.defineProperty(target, key, r), r;
11
- };
12
- var __metadata = (this && this.__metadata) || function (k, v) {
13
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
14
- };
15
- var __param = (this && this.__param) || function (paramIndex, decorator) {
16
- return function (target, key) { decorator(target, key, paramIndex); }
17
- };
18
- Object.defineProperty(exports, "__esModule", { value: true });
19
- const context_1 = require("@loopback/context");
20
- const writer_1 = require("../writer");
21
- const keys_1 = require("../keys");
22
- let RejectProvider = class RejectProvider {
23
- constructor(logError) {
24
- this.logError = logError;
25
- }
26
- value() {
27
- return (response, request, error) => {
28
- const err = error;
29
- const statusCode = err.statusCode || err.status || 500;
30
- writer_1.writeErrorToResponse(response, err);
31
- this.logError(error, statusCode, request);
32
- };
33
- }
34
- };
35
- RejectProvider = __decorate([
36
- __param(0, context_1.inject(keys_1.RestBindings.SequenceActions.LOG_ERROR)),
37
- __metadata("design:paramtypes", [Function])
38
- ], RejectProvider);
39
- exports.RejectProvider = RejectProvider;
40
- //# sourceMappingURL=reject.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"reject.js","sourceRoot":"","sources":["../../../src/providers/reject.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,wBAAwB;AACxB,+CAA+C;AAC/C,gEAAgE;;;;;;;;;;;;;;AAGhE,+CAAyC;AAGzC,sCAA+C;AAC/C,kCAAqC;AAErC,IAAa,cAAc,GAA3B;IACE,YAEY,QAAkB;QAAlB,aAAQ,GAAR,QAAQ,CAAU;IAC3B,CAAC;IAEJ,KAAK;QACH,MAAM,CAAC,CAAC,QAAwB,EAAE,OAAsB,EAAE,KAAY,EAAE,EAAE;YACxE,MAAM,GAAG,GAAc,KAAK,CAAC;YAC7B,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC;YACvD,6BAAoB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YACpC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QAC5C,CAAC,CAAC;IACJ,CAAC;CACF,CAAA;AAdY,cAAc;IAEtB,WAAA,gBAAM,CAAC,mBAAY,CAAC,eAAe,CAAC,SAAS,CAAC,CAAA;;GAFtC,cAAc,CAc1B;AAdY,wCAAc"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"send.js","sourceRoot":"","sources":["../../../src/providers/send.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,8BAA8B;AAC9B,+CAA+C;AAC/C,gEAAgE;;AAGhE,sCAAgD;AAChD;;;;;;;;;GASG;AACH;IACE,KAAK;QACH,MAAM,CAAC,8BAAqB,CAAC;IAC/B,CAAC;CACF;AAJD,oCAIC"}
@@ -1,12 +0,0 @@
1
- import { Component, ProviderMap, Server, Application } from '@loopback/core';
2
- import { Constructor } from '@loopback/context';
3
- import { RestServerConfig } from './rest-server';
4
- export declare class RestComponent implements Component {
5
- providers: ProviderMap;
6
- servers: {
7
- [name: string]: Constructor<Server>;
8
- };
9
- constructor(app: Application, config?: RestComponentConfig);
10
- }
11
- export interface RestComponentConfig extends RestServerConfig {
12
- }
@@ -1,50 +0,0 @@
1
- "use strict";
2
- // Copyright IBM Corp. 2017. All Rights Reserved.
3
- // Node module: @loopback/rest
4
- // This file is licensed under the MIT License.
5
- // License text available at https://opensource.org/licenses/MIT
6
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
7
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
8
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
9
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
10
- return c > 3 && r && Object.defineProperty(target, key, r), r;
11
- };
12
- var __metadata = (this && this.__metadata) || function (k, v) {
13
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
14
- };
15
- var __param = (this && this.__param) || function (paramIndex, decorator) {
16
- return function (target, key) { decorator(target, key, paramIndex); }
17
- };
18
- Object.defineProperty(exports, "__esModule", { value: true });
19
- const core_1 = require("@loopback/core");
20
- const context_1 = require("@loopback/context");
21
- const keys_1 = require("./keys");
22
- const providers_1 = require("./providers");
23
- const providers_2 = require("./providers");
24
- const rest_server_1 = require("./rest-server");
25
- let RestComponent = class RestComponent {
26
- constructor(app, config) {
27
- this.providers = {
28
- [keys_1.RestBindings.SequenceActions.LOG_ERROR]: providers_1.LogErrorProvider,
29
- [keys_1.RestBindings.SequenceActions.FIND_ROUTE]: providers_2.FindRouteProvider,
30
- [keys_1.RestBindings.SequenceActions.INVOKE_METHOD]: providers_2.InvokeMethodProvider,
31
- [keys_1.RestBindings.SequenceActions.REJECT]: providers_2.RejectProvider,
32
- [keys_1.RestBindings.BIND_ELEMENT]: providers_2.BindElementProvider,
33
- [keys_1.RestBindings.GET_FROM_CONTEXT]: providers_2.GetFromContextProvider,
34
- [keys_1.RestBindings.SequenceActions.PARSE_PARAMS]: providers_2.ParseParamsProvider,
35
- [keys_1.RestBindings.SequenceActions.SEND]: providers_2.SendProvider,
36
- };
37
- this.servers = {
38
- RestServer: rest_server_1.RestServer,
39
- };
40
- if (!config)
41
- config = {};
42
- }
43
- };
44
- RestComponent = __decorate([
45
- __param(0, context_1.inject(core_1.CoreBindings.APPLICATION_INSTANCE)),
46
- __param(1, context_1.inject(keys_1.RestBindings.CONFIG)),
47
- __metadata("design:paramtypes", [core_1.Application, Object])
48
- ], RestComponent);
49
- exports.RestComponent = RestComponent;
50
- //# sourceMappingURL=rest-component.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rest-component.js","sourceRoot":"","sources":["../../src/rest-component.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,8BAA8B;AAC9B,+CAA+C;AAC/C,gEAAgE;;;;;;;;;;;;;;AAEhE,yCAMwB;AACxB,+CAAsD;AACtD,iCAAoC;AACpC,2CAA6C;AAC7C,2CAQqB;AACrB,+CAA2D;AAE3D,IAAa,aAAa,GAA1B;IAiBE,YAC6C,GAAgB,EAC9B,MAA4B;QAlB3D,cAAS,GAAgB;YACvB,CAAC,mBAAY,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,4BAAgB;YAC1D,CAAC,mBAAY,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,6BAAiB;YAC5D,CAAC,mBAAY,CAAC,eAAe,CAAC,aAAa,CAAC,EAAE,gCAAoB;YAClE,CAAC,mBAAY,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,0BAAc;YACrD,CAAC,mBAAY,CAAC,YAAY,CAAC,EAAE,+BAAmB;YAChD,CAAC,mBAAY,CAAC,gBAAgB,CAAC,EAAE,kCAAsB;YACvD,CAAC,mBAAY,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE,+BAAmB;YAChE,CAAC,mBAAY,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,wBAAY;SAClD,CAAC;QACF,YAAO,GAEH;YACF,UAAU,EAAV,wBAAU;SACX,CAAC;QAMA,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;YAAC,MAAM,GAAG,EAAE,CAAC;IAC3B,CAAC;CACF,CAAA;AAvBY,aAAa;IAkBrB,WAAA,gBAAM,CAAC,mBAAY,CAAC,oBAAoB,CAAC,CAAA;IACzC,WAAA,gBAAM,CAAC,mBAAY,CAAC,MAAM,CAAC,CAAA;qCADoB,kBAAW;GAlBlD,aAAa,CAuBzB;AAvBY,sCAAa"}
@@ -1,211 +0,0 @@
1
- /// <reference types="node" />
2
- import { Binding, Context, Constructor } from '@loopback/context';
3
- import { RouteEntry } from '.';
4
- import { OpenApiSpec, OperationObject } from '@loopback/openapi-spec';
5
- import { ServerRequest, ServerResponse } from 'http';
6
- import * as Http from 'http';
7
- import { Application, Server } from '@loopback/core';
8
- import { HttpHandler } from './http-handler';
9
- import { SequenceHandler, SequenceFunction } from './sequence';
10
- import { ControllerClass } from './router/routing-table';
11
- /**
12
- * A REST API server for use with Loopback.
13
- * Add this server to your application by importing the RestComponent.
14
- * ```ts
15
- * const app = new MyApplication({
16
- * components: [RestComponent]
17
- * });
18
- * // OR
19
- * app.component(RestComponent);
20
- * ```
21
- *
22
- * To add additional instances of RestServer to your application, use the
23
- * `.server` function:
24
- * ```ts
25
- * app.server(RestServer, 'nameOfYourServer');
26
- * ```
27
- *
28
- * By default, one instance of RestServer will be created when the RestComponent
29
- * is bootstrapped. This instance can be retrieved with
30
- * `app.getServer(RestServer)`, or by calling `app.get('servers.RestServer')`
31
- * Note that retrieving other instances of RestServer must be done using the
32
- * server's name:
33
- * ```ts
34
- * const server = await app.getServer('foo')
35
- * // OR
36
- * const server = await app.get('servers.foo');
37
- * ```
38
- *
39
- * @export
40
- * @class RestServer
41
- * @extends {Context}
42
- * @implements {Server}
43
- */
44
- export declare class RestServer extends Context implements Server {
45
- /**
46
- * Handle incoming HTTP(S) request by invoking the corresponding
47
- * Controller method via the configured Sequence.
48
- *
49
- * @example
50
- *
51
- * ```ts
52
- * const app = new Application();
53
- * // setup controllers, etc.
54
- *
55
- * const server = http.createServer(app.handleHttp);
56
- * server.listen(3000);
57
- * ```
58
- *
59
- * @param req The request.
60
- * @param res The response.
61
- */
62
- handleHttp: (req: ServerRequest, res: ServerResponse) => void;
63
- protected _httpHandler: HttpHandler;
64
- protected readonly httpHandler: HttpHandler;
65
- protected _httpServer: Http.Server;
66
- /**
67
- * @memberof RestServer
68
- * Creates an instance of RestServer.
69
- *
70
- * @param {Application} app The application instance (injected via
71
- * CoreBindings.APPLICATION_INSTANCE).
72
- * @param {RestServerConfig=} options The configuration options (injected via
73
- * RestBindings.CONFIG).
74
- *
75
- */
76
- constructor(app: Application, options?: RestServerConfig);
77
- protected _handleHttpRequest(request: ServerRequest, response: ServerResponse): Promise<void>;
78
- protected _setupHandlerIfNeeded(): void;
79
- private _setupOperation(verb, path, spec);
80
- private _serveOpenApiSpec(request, response, options?);
81
- private _redirectToSwaggerUI(request, response);
82
- /**
83
- * Register a controller class with this server.
84
- *
85
- * @param {Constructor} controllerCtor The controller class
86
- * (constructor function).
87
- * @returns {Binding} The newly created binding, you can use the reference to
88
- * further modify the binding, e.g. lock the value to prevent further
89
- * modifications.
90
- *
91
- * ```ts
92
- * class MyController {
93
- * }
94
- * app.controller(MyController).lock();
95
- * ```
96
- *
97
- */
98
- controller(controllerCtor: ControllerClass): Binding;
99
- /**
100
- * Register a new Controller-based route.
101
- *
102
- * ```ts
103
- * class MyController {
104
- * greet(name: string) {
105
- * return `hello ${name}`;
106
- * }
107
- * }
108
- * app.route('get', '/greet', operationSpec, MyController, 'greet');
109
- * ```
110
- *
111
- * @param verb HTTP verb of the endpoint
112
- * @param path URL path of the endpoint
113
- * @param spec The OpenAPI spec describing the endpoint (operation)
114
- * @param controller Controller constructor
115
- * @param methodName The name of the controller method
116
- */
117
- route(verb: string, path: string, spec: OperationObject, controller: ControllerClass, methodName: string): Binding;
118
- /**
119
- * Register a new route.
120
- *
121
- * ```ts
122
- * function greet(name: string) {
123
- * return `hello ${name}`;
124
- * }
125
- * const route = new Route('get', '/', operationSpec, greet);
126
- * app.route(route);
127
- * ```
128
- *
129
- * @param route The route to add.
130
- */
131
- route(route: RouteEntry): Binding;
132
- /**
133
- * Set the OpenAPI specification that defines the REST API schema for this
134
- * server. All routes, parameter definitions and return types will be defined
135
- * in this way.
136
- *
137
- * Note that this will override any routes defined via decorators at the
138
- * controller level (this function takes precedent).
139
- *
140
- * @param {OpenApiSpec} spec The OpenAPI specification, as an object.
141
- * @returns {Binding}
142
- * @memberof RestServer
143
- */
144
- api(spec: OpenApiSpec): Binding;
145
- /**
146
- * Get the OpenAPI specification describing the REST API provided by
147
- * this application.
148
- *
149
- * This method merges operations (HTTP endpoints) from the following sources:
150
- * - `app.api(spec)`
151
- * - `app.controller(MyController)`
152
- * - `app.route(route)`
153
- * - `app.route('get', '/greet', operationSpec, MyController, 'greet')`
154
- */
155
- getApiSpec(): OpenApiSpec;
156
- /**
157
- * Configure a custom sequence class for handling incoming requests.
158
- *
159
- * ```ts
160
- * class MySequence implements SequenceHandler {
161
- * constructor(
162
- * @inject('send) public send: Send)) {
163
- * }
164
- *
165
- * public async handle(request: ParsedRequest, response: ServerResponse) {
166
- * send(response, 'hello world');
167
- * }
168
- * }
169
- * ```
170
- *
171
- * @param value The sequence to invoke for each incoming request.
172
- */
173
- sequence(value: Constructor<SequenceHandler>): void;
174
- /**
175
- * Configure a custom sequence function for handling incoming requests.
176
- *
177
- * ```ts
178
- * app.handler((sequence, request, response) => {
179
- * sequence.send(response, 'hello world');
180
- * });
181
- * ```
182
- *
183
- * @param handlerFn The handler to invoke for each incoming request.
184
- */
185
- handler(handlerFn: SequenceFunction): void;
186
- /**
187
- * Start this REST API's HTTP/HTTPS server.
188
- *
189
- * @returns {Promise<void>}
190
- * @memberof RestServer
191
- */
192
- start(): Promise<void>;
193
- /**
194
- * Stop this REST API's HTTP/HTTPS server.
195
- *
196
- * @returns {Promise<void>}
197
- * @memberof RestServer
198
- */
199
- stop(): Promise<void>;
200
- protected _onUnhandledError(req: ServerRequest, res: ServerResponse, err: Error): void;
201
- }
202
- /**
203
- * Valid configuration for the RestServer constructor.
204
- *
205
- * @export
206
- * @interface RestServerConfig
207
- */
208
- export interface RestServerConfig {
209
- port?: number;
210
- sequence?: Constructor<SequenceHandler>;
211
- }