@toa.io/extensions.exposition 1.0.0-alpha.2 → 1.0.0-alpha.200

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 (918) hide show
  1. package/components/context.toa.yaml +2 -2
  2. package/components/identity.bans/manifest.toa.yaml +15 -6
  3. package/components/identity.bans/operations/transit.d.ts +14 -0
  4. package/components/identity.bans/operations/transit.js +11 -0
  5. package/components/identity.bans/operations/transit.js.map +1 -0
  6. package/components/identity.bans/operations/tsconfig.tsbuildinfo +1 -0
  7. package/components/identity.bans/source/transit.ts +21 -0
  8. package/components/identity.bans/tsconfig.json +9 -0
  9. package/components/identity.basic/manifest.toa.yaml +86 -13
  10. package/components/identity.basic/operations/add.d.ts +3 -0
  11. package/components/identity.basic/operations/add.js +16 -0
  12. package/components/identity.basic/operations/add.js.map +1 -0
  13. package/components/identity.basic/operations/authenticate.d.ts +5 -1
  14. package/components/identity.basic/operations/authenticate.js +7 -4
  15. package/components/identity.basic/operations/authenticate.js.map +1 -1
  16. package/components/identity.basic/operations/check.d.ts +7 -0
  17. package/components/identity.basic/operations/check.js +15 -0
  18. package/components/identity.basic/operations/check.js.map +1 -0
  19. package/components/identity.basic/operations/incept.d.ts +12 -0
  20. package/components/identity.basic/operations/incept.js +26 -0
  21. package/components/identity.basic/operations/incept.js.map +1 -0
  22. package/components/identity.basic/operations/transit.d.ts +4 -4
  23. package/components/identity.basic/operations/transit.js +14 -9
  24. package/components/identity.basic/operations/transit.js.map +1 -1
  25. package/components/identity.basic/operations/tsconfig.tsbuildinfo +1 -1
  26. package/components/identity.basic/operations/types.d.ts +16 -6
  27. package/components/identity.basic/source/add.ts +14 -0
  28. package/components/identity.basic/source/authenticate.ts +18 -7
  29. package/components/identity.basic/source/check.ts +20 -0
  30. package/components/identity.basic/source/incept.ts +38 -0
  31. package/components/identity.basic/source/transit.ts +17 -13
  32. package/components/identity.basic/source/types.ts +17 -6
  33. package/components/identity.federation/manifest.toa.yaml +77 -29
  34. package/components/identity.federation/operations/authenticate.d.ts +16 -3
  35. package/components/identity.federation/operations/authenticate.js +25 -15
  36. package/components/identity.federation/operations/authenticate.js.map +1 -1
  37. package/components/identity.federation/operations/decode.d.ts +3 -0
  38. package/components/identity.federation/operations/decode.js +12 -0
  39. package/components/identity.federation/operations/decode.js.map +1 -0
  40. package/components/identity.federation/operations/incept.d.ts +11 -0
  41. package/components/identity.federation/operations/incept.js +22 -0
  42. package/components/identity.federation/operations/incept.js.map +1 -0
  43. package/components/identity.federation/operations/lib/Configuration.d.ts +39 -0
  44. package/components/identity.federation/operations/lib/Configuration.js +3 -0
  45. package/components/identity.federation/operations/lib/Configuration.js.map +1 -0
  46. package/components/identity.federation/operations/lib/Context.d.ts +7 -0
  47. package/{transpiled/directives/vary/embeddings/Embedding.js → components/identity.federation/operations/lib/Context.js} +1 -1
  48. package/components/identity.federation/operations/lib/Context.js.map +1 -0
  49. package/components/identity.federation/operations/lib/Ctx.d.ts +6 -0
  50. package/components/identity.federation/operations/lib/Ctx.js +3 -0
  51. package/components/identity.federation/operations/lib/Ctx.js.map +1 -0
  52. package/components/identity.federation/operations/lib/Payload.d.ts +5 -0
  53. package/components/identity.federation/operations/lib/Payload.js +3 -0
  54. package/components/identity.federation/operations/lib/Payload.js.map +1 -0
  55. package/components/identity.federation/operations/lib/decode.d.ts +3 -0
  56. package/components/identity.federation/operations/{assertions-as-values.cjs → lib/decode.js} +19 -19
  57. package/components/identity.federation/operations/lib/decode.js.map +1 -0
  58. package/components/identity.federation/operations/lib/discovery.d.ts +4 -0
  59. package/components/identity.federation/operations/lib/discovery.js +49 -0
  60. package/components/identity.federation/operations/lib/discovery.js.map +1 -0
  61. package/components/identity.federation/operations/lib/errors.d.ts +11 -0
  62. package/components/identity.federation/operations/lib/errors.js +15 -0
  63. package/components/identity.federation/operations/lib/errors.js.map +1 -0
  64. package/components/identity.federation/operations/lib/exchange.d.ts +3 -0
  65. package/components/identity.federation/operations/lib/exchange.js +107 -0
  66. package/components/identity.federation/operations/lib/exchange.js.map +1 -0
  67. package/components/identity.federation/operations/lib/index.d.ts +3 -0
  68. package/components/identity.federation/operations/lib/index.js +8 -0
  69. package/components/identity.federation/operations/lib/index.js.map +1 -0
  70. package/components/identity.federation/operations/tsconfig.tsbuildinfo +1 -1
  71. package/components/identity.federation/operations/types/Scheme.d.ts +1 -0
  72. package/components/identity.federation/operations/types/Scheme.js +3 -0
  73. package/components/identity.federation/operations/types/Scheme.js.map +1 -0
  74. package/components/identity.federation/operations/types/configuration.d.ts +20 -0
  75. package/components/identity.federation/operations/types/configuration.js +3 -0
  76. package/components/identity.federation/operations/types/configuration.js.map +1 -0
  77. package/components/identity.federation/operations/types/context.d.ts +36 -0
  78. package/components/identity.federation/operations/types/context.js +3 -0
  79. package/components/identity.federation/operations/types/context.js.map +1 -0
  80. package/components/identity.federation/operations/types/entity.d.ts +6 -0
  81. package/components/identity.federation/operations/types/entity.js +3 -0
  82. package/components/identity.federation/operations/types/entity.js.map +1 -0
  83. package/components/identity.federation/operations/types/index.d.ts +4 -0
  84. package/components/identity.federation/operations/types/index.js +21 -0
  85. package/components/identity.federation/operations/types/index.js.map +1 -0
  86. package/components/identity.federation/source/authenticate.ts +44 -19
  87. package/components/identity.federation/source/decode.ts +10 -0
  88. package/components/identity.federation/source/incept.ts +37 -0
  89. package/components/identity.federation/source/lib/Configuration.ts +39 -0
  90. package/components/identity.federation/source/lib/Ctx.ts +7 -0
  91. package/components/identity.federation/source/lib/Payload.ts +6 -0
  92. package/components/identity.federation/source/lib/decode.ts +28 -0
  93. package/components/identity.federation/source/lib/discovery.ts +30 -0
  94. package/components/identity.federation/source/lib/errors.ts +12 -0
  95. package/components/identity.federation/source/lib/exchange.ts +116 -0
  96. package/components/identity.federation/source/lib/index.ts +3 -0
  97. package/components/identity.federation/source/types/Scheme.ts +1 -0
  98. package/components/identity.federation/source/types/configuration.ts +21 -0
  99. package/components/identity.federation/source/types/context.ts +40 -0
  100. package/components/identity.federation/source/types/entity.ts +6 -0
  101. package/components/identity.federation/source/types/index.ts +4 -0
  102. package/components/identity.federation/tsconfig.json +5 -4
  103. package/components/identity.keys/manifest.toa.yaml +57 -0
  104. package/components/identity.keys/operations/create.d.ts +22 -0
  105. package/components/identity.keys/operations/create.js +16 -0
  106. package/components/identity.keys/operations/create.js.map +1 -0
  107. package/components/identity.keys/operations/tsconfig.tsbuildinfo +1 -0
  108. package/components/identity.keys/source/create.ts +35 -0
  109. package/components/identity.keys/tsconfig.json +9 -0
  110. package/components/identity.otp/manifest.toa.yaml +55 -0
  111. package/components/identity.otp/operations/authenticate.d.ts +12 -0
  112. package/components/identity.otp/operations/authenticate.js +31 -0
  113. package/components/identity.otp/operations/authenticate.js.map +1 -0
  114. package/components/identity.otp/operations/issue.d.ts +12 -0
  115. package/components/identity.otp/operations/issue.js +22 -0
  116. package/components/identity.otp/operations/issue.js.map +1 -0
  117. package/components/identity.otp/operations/lib/Context.d.ts +13 -0
  118. package/components/identity.otp/operations/lib/Context.js +3 -0
  119. package/components/identity.otp/operations/lib/Context.js.map +1 -0
  120. package/components/identity.otp/operations/lib/Entity.d.ts +6 -0
  121. package/components/identity.otp/operations/lib/Entity.js +3 -0
  122. package/components/identity.otp/operations/lib/Entity.js.map +1 -0
  123. package/components/identity.otp/operations/lib/index.d.ts +1 -0
  124. package/components/identity.otp/operations/lib/index.js +3 -0
  125. package/components/identity.otp/operations/lib/index.js.map +1 -0
  126. package/components/identity.otp/operations/tsconfig.tsbuildinfo +1 -0
  127. package/components/identity.otp/source/authenticate.ts +48 -0
  128. package/components/identity.otp/source/issue.ts +35 -0
  129. package/components/identity.otp/source/lib/Context.ts +14 -0
  130. package/components/identity.otp/source/lib/Entity.ts +6 -0
  131. package/components/identity.otp/source/lib/index.ts +1 -0
  132. package/components/identity.otp/tsconfig.json +9 -0
  133. package/components/identity.passkeys/manifest.toa.yaml +268 -0
  134. package/components/identity.passkeys/operations/authenticate.d.ts +16 -0
  135. package/components/identity.passkeys/operations/authenticate.js +34 -0
  136. package/components/identity.passkeys/operations/authenticate.js.map +1 -0
  137. package/components/identity.passkeys/operations/challenge.d.ts +35 -0
  138. package/components/identity.passkeys/operations/challenge.js +73 -0
  139. package/components/identity.passkeys/operations/challenge.js.map +1 -0
  140. package/components/identity.passkeys/operations/create.d.ts +19 -0
  141. package/components/identity.passkeys/operations/create.js +58 -0
  142. package/components/identity.passkeys/operations/create.js.map +1 -0
  143. package/components/identity.passkeys/operations/delete.d.ts +8 -0
  144. package/components/identity.passkeys/operations/delete.js +12 -0
  145. package/components/identity.passkeys/operations/delete.js.map +1 -0
  146. package/components/identity.passkeys/operations/lib/const.d.ts +1 -0
  147. package/components/identity.passkeys/operations/lib/const.js +5 -0
  148. package/components/identity.passkeys/operations/lib/const.js.map +1 -0
  149. package/components/identity.passkeys/operations/list.d.ts +7 -0
  150. package/components/identity.passkeys/operations/list.js +15 -0
  151. package/components/identity.passkeys/operations/list.js.map +1 -0
  152. package/components/identity.passkeys/operations/tsconfig.tsbuildinfo +1 -0
  153. package/components/identity.passkeys/operations/types/Configuration.d.ts +6 -0
  154. package/components/identity.passkeys/operations/types/Configuration.js +3 -0
  155. package/components/identity.passkeys/operations/types/Configuration.js.map +1 -0
  156. package/components/identity.passkeys/operations/types/Context.d.ts +15 -0
  157. package/components/identity.passkeys/operations/types/Context.js +3 -0
  158. package/components/identity.passkeys/operations/types/Context.js.map +1 -0
  159. package/components/identity.passkeys/operations/types/Passkey.d.ts +13 -0
  160. package/components/identity.passkeys/operations/types/Passkey.js +3 -0
  161. package/components/identity.passkeys/operations/types/Passkey.js.map +1 -0
  162. package/components/identity.passkeys/operations/types/index.d.ts +2 -0
  163. package/components/identity.passkeys/operations/types/index.js +3 -0
  164. package/components/identity.passkeys/operations/types/index.js.map +1 -0
  165. package/components/identity.passkeys/operations/use.d.ts +16 -0
  166. package/components/identity.passkeys/operations/use.js +57 -0
  167. package/components/identity.passkeys/operations/use.js.map +1 -0
  168. package/components/identity.passkeys/source/authenticate.ts +48 -0
  169. package/components/identity.passkeys/source/challenge.ts +115 -0
  170. package/components/identity.passkeys/source/create.ts +77 -0
  171. package/components/identity.passkeys/source/delete.ts +15 -0
  172. package/components/identity.passkeys/source/lib/const.ts +1 -0
  173. package/components/identity.passkeys/source/list.ts +17 -0
  174. package/components/identity.passkeys/source/types/Configuration.ts +6 -0
  175. package/components/identity.passkeys/source/types/Context.ts +16 -0
  176. package/components/identity.passkeys/source/types/Passkey.ts +14 -0
  177. package/components/identity.passkeys/source/types/index.ts +2 -0
  178. package/components/identity.passkeys/source/use.ts +75 -0
  179. package/components/identity.passkeys/tsconfig.json +9 -0
  180. package/components/identity.roles/manifest.toa.yaml +21 -6
  181. package/components/identity.roles/operations/grant.d.ts +10 -0
  182. package/components/identity.roles/operations/grant.js +21 -0
  183. package/components/identity.roles/operations/grant.js.map +1 -0
  184. package/components/identity.roles/operations/lib/Entity.d.ts +5 -0
  185. package/components/identity.roles/operations/lib/Entity.js +3 -0
  186. package/components/identity.roles/operations/lib/Entity.js.map +1 -0
  187. package/components/identity.roles/operations/list.d.ts +1 -4
  188. package/components/identity.roles/operations/list.js.map +1 -1
  189. package/components/identity.roles/operations/principal.d.ts +4 -6
  190. package/components/identity.roles/operations/principal.js +6 -1
  191. package/components/identity.roles/operations/principal.js.map +1 -1
  192. package/components/identity.roles/operations/tsconfig.tsbuildinfo +1 -1
  193. package/components/identity.roles/source/grant.ts +32 -0
  194. package/components/identity.roles/source/lib/Entity.ts +5 -0
  195. package/components/identity.roles/source/list.ts +2 -4
  196. package/components/identity.roles/source/principal.ts +10 -8
  197. package/components/identity.tokens/manifest.toa.yaml +104 -9
  198. package/components/identity.tokens/operations/authenticate.d.ts +3 -3
  199. package/components/identity.tokens/operations/authenticate.js +20 -13
  200. package/components/identity.tokens/operations/authenticate.js.map +1 -1
  201. package/components/identity.tokens/operations/decrypt.d.ts +13 -3
  202. package/components/identity.tokens/operations/decrypt.js +65 -17
  203. package/components/identity.tokens/operations/decrypt.js.map +1 -1
  204. package/components/identity.tokens/operations/encrypt.d.ts +3 -3
  205. package/components/identity.tokens/operations/encrypt.js +26 -6
  206. package/components/identity.tokens/operations/encrypt.js.map +1 -1
  207. package/components/identity.tokens/operations/issue.d.ts +24 -0
  208. package/components/identity.tokens/operations/issue.js +59 -0
  209. package/components/identity.tokens/operations/issue.js.map +1 -0
  210. package/components/identity.tokens/operations/lib/index.d.ts +2 -0
  211. package/components/identity.tokens/operations/lib/index.js +19 -0
  212. package/components/identity.tokens/operations/lib/index.js.map +1 -0
  213. package/components/identity.tokens/operations/lib/pad.d.ts +1 -0
  214. package/components/identity.tokens/operations/lib/pad.js +5 -0
  215. package/components/identity.tokens/operations/lib/pad.js.map +1 -0
  216. package/components/identity.tokens/operations/lib/types.d.ts +75 -0
  217. package/components/identity.tokens/operations/lib/types.js.map +1 -0
  218. package/components/identity.tokens/operations/revoke.d.ts +2 -2
  219. package/components/identity.tokens/operations/revoke.js.map +1 -1
  220. package/components/identity.tokens/operations/tsconfig.tsbuildinfo +1 -1
  221. package/components/identity.tokens/receivers/identity.bans.created.js +3 -0
  222. package/components/identity.tokens/source/authenticate.test.ts +22 -9
  223. package/components/identity.tokens/source/authenticate.ts +23 -15
  224. package/components/identity.tokens/source/decrypt.test.ts +33 -18
  225. package/components/identity.tokens/source/decrypt.ts +95 -20
  226. package/components/identity.tokens/source/encrypt.test.ts +71 -12
  227. package/components/identity.tokens/source/encrypt.ts +37 -9
  228. package/components/identity.tokens/source/issue.ts +82 -0
  229. package/components/identity.tokens/source/lib/index.ts +2 -0
  230. package/components/identity.tokens/source/lib/pad.ts +1 -0
  231. package/components/identity.tokens/source/lib/paseto.test.ts +16 -0
  232. package/components/identity.tokens/source/lib/types.ts +86 -0
  233. package/components/identity.tokens/source/revoke.ts +2 -2
  234. package/components/octets.storage/manifest.toa.yaml +13 -11
  235. package/components/octets.storage/operations/get.js +3 -3
  236. package/components/octets.storage/operations/head.js +7 -0
  237. package/components/octets.storage/operations/put.js +135 -0
  238. package/documentation/access.md +100 -38
  239. package/documentation/authorities.md +48 -0
  240. package/documentation/cache.md +8 -1
  241. package/documentation/components.md +171 -64
  242. package/documentation/dev.md +30 -0
  243. package/documentation/flow.md +44 -0
  244. package/documentation/identity.md +135 -23
  245. package/documentation/introspection.md +82 -0
  246. package/documentation/io.md +96 -0
  247. package/documentation/map.md +96 -0
  248. package/documentation/notes/desync.jpg +0 -0
  249. package/documentation/notes/peers.md +59 -0
  250. package/documentation/notes/throttling.md +82 -0
  251. package/documentation/octets.md +128 -63
  252. package/documentation/passkeys.md +4 -0
  253. package/documentation/protocol.md +14 -4
  254. package/documentation/query.md +100 -8
  255. package/documentation/require.md +15 -0
  256. package/documentation/tree.md +35 -4
  257. package/features/access.feature +141 -49
  258. package/features/annotation.feature +2 -0
  259. package/features/auth.assert.feature +57 -0
  260. package/features/auth.claims.feature +170 -0
  261. package/features/auth.incept.feature +120 -0
  262. package/features/auth.input.feature +59 -0
  263. package/features/auth.issue.feature +32 -0
  264. package/features/authorities.basic.feature +141 -0
  265. package/features/authorities.feature +32 -0
  266. package/features/authorities.federation.feature +99 -0
  267. package/features/authorities.tokens.feature +117 -0
  268. package/features/body.feature +5 -1
  269. package/features/cache.feature +167 -5
  270. package/features/cors.feature +33 -8
  271. package/features/debug.feature +34 -0
  272. package/features/dev.feature +87 -0
  273. package/features/directives.feature +5 -0
  274. package/features/dynamic.feature +62 -7
  275. package/features/errors.feature +36 -10
  276. package/features/etag.feature +236 -0
  277. package/features/flow.feature +148 -0
  278. package/features/identity.bans.feature +137 -0
  279. package/features/identity.basic.feature +218 -20
  280. package/features/identity.feature +18 -6
  281. package/features/identity.federation.feature +177 -14
  282. package/features/identity.otp.feature +71 -0
  283. package/features/identity.roles.feature +272 -7
  284. package/features/identity.tokens.feature +16 -4
  285. package/features/identtiy.tokens.custom.feature +247 -0
  286. package/features/interruptions.feature +19 -0
  287. package/features/introspection.feature +153 -0
  288. package/features/io.feature +204 -0
  289. package/features/io.throttle.feature +40 -0
  290. package/features/map.feature +328 -0
  291. package/features/methods.feature +47 -0
  292. package/features/octets.cloudinary.feature +223 -0
  293. package/features/octets.download.feature +189 -0
  294. package/features/octets.entries.feature +15 -55
  295. package/features/octets.feature +91 -113
  296. package/features/octets.head.feature +40 -0
  297. package/features/octets.location.feature +83 -0
  298. package/features/octets.meta.feature +68 -17
  299. package/features/octets.workflows.feature +377 -60
  300. package/features/passkeys.feature +66 -0
  301. package/features/probes.feature +14 -0
  302. package/features/{queries.feature → query.feature} +151 -3
  303. package/features/realtime.feature +34 -0
  304. package/features/require.feature +67 -0
  305. package/features/response.feature +41 -3
  306. package/features/routes.feature +110 -12
  307. package/features/server.feature +21 -0
  308. package/features/steps/.env.example +5 -0
  309. package/features/steps/Common.ts +4 -0
  310. package/features/steps/Database.ts +17 -10
  311. package/features/steps/Gateway.ts +27 -5
  312. package/features/steps/HTTP.ts +26 -3
  313. package/features/steps/IDP.ts +334 -0
  314. package/features/steps/Identity.ts +51 -0
  315. package/features/steps/OTP.ts +39 -0
  316. package/features/steps/Parameters.ts +88 -2
  317. package/features/steps/Realtime.ts +151 -0
  318. package/features/steps/components/echo/manifest.toa.yaml +17 -0
  319. package/features/steps/components/echo/operations/echo.js +7 -0
  320. package/features/steps/components/echo/operations/identity.js +7 -0
  321. package/features/steps/components/echo/operations/parameters.js +7 -0
  322. package/features/steps/components/echo/operations/ping.js +7 -0
  323. package/features/steps/components/echo.beacon/manifest.toa.yaml +2 -0
  324. package/features/steps/components/echo.beacon/operations/hello.js +5 -0
  325. package/features/steps/components/octets.tester/manifest.toa.yaml +26 -2
  326. package/features/steps/components/octets.tester/operations/authority.js +7 -0
  327. package/features/steps/components/octets.tester/operations/bar.js +0 -1
  328. package/features/steps/components/octets.tester/operations/baz.js +1 -1
  329. package/features/steps/components/octets.tester/operations/echo.js +1 -1
  330. package/features/steps/components/octets.tester/operations/foo.js +2 -2
  331. package/features/steps/components/octets.tester/operations/id.js +7 -0
  332. package/features/steps/components/octets.tester/operations/identity.js +7 -0
  333. package/features/steps/components/octets.tester/operations/redirect.js +12 -0
  334. package/features/steps/components/octets.tester/operations/yex.js +16 -0
  335. package/features/steps/components/octets.tester/operations/yield.js +13 -0
  336. package/features/steps/components/pots/manifest.toa.yaml +26 -6
  337. package/features/steps/components/users/manifest.toa.yaml +4 -2
  338. package/features/steps/components/users/operations/create.js +15 -0
  339. package/features/steps/components/users.properties/manifest.toa.yaml +1 -1
  340. package/features/streams.feature +5 -0
  341. package/features/timestamps.feature +41 -0
  342. package/features/timing.feature +69 -0
  343. package/package.json +31 -22
  344. package/readme.md +19 -13
  345. package/schemas/annotation.cos.yaml +9 -1
  346. package/schemas/io/input.cos.yaml +3 -0
  347. package/schemas/io/message.cos.yaml +5 -0
  348. package/schemas/io/output.cos.yaml +5 -0
  349. package/schemas/io/throttle.cos.yaml +36 -0
  350. package/schemas/method.cos.yaml +2 -1
  351. package/schemas/node.cos.yaml +2 -0
  352. package/schemas/octets/put.cos.yaml +28 -0
  353. package/schemas/octets/workflow.cos.yaml +12 -0
  354. package/schemas/query.cos.yaml +6 -10
  355. package/schemas/querystring.cos.yaml +2 -0
  356. package/source/Annotation.ts +6 -2
  357. package/source/Branch.ts +1 -0
  358. package/source/Composition.ts +0 -6
  359. package/source/Context.ts +7 -4
  360. package/source/Directive.test.ts +12 -10
  361. package/source/Directive.ts +44 -47
  362. package/source/Endpoint.ts +128 -16
  363. package/source/Factory.ts +31 -12
  364. package/source/Gateway.ts +99 -52
  365. package/source/HTTP/Context.ts +92 -0
  366. package/source/HTTP/Server.ts +198 -121
  367. package/source/HTTP/Timing.ts +40 -0
  368. package/source/HTTP/exceptions.ts +32 -8
  369. package/source/HTTP/formats/index.ts +3 -4
  370. package/source/HTTP/formats/json.ts +0 -2
  371. package/source/HTTP/formats/msgpack.ts +0 -1
  372. package/source/HTTP/formats/text.ts +0 -2
  373. package/source/HTTP/formats/yaml.ts +0 -1
  374. package/source/HTTP/index.ts +1 -0
  375. package/source/HTTP/messages.test.ts +72 -9
  376. package/source/HTTP/messages.ts +119 -51
  377. package/source/Introspection.ts +11 -0
  378. package/source/Mapping.ts +70 -23
  379. package/source/Query.test.ts +3 -3
  380. package/source/Query.ts +131 -33
  381. package/source/RTD/Context.ts +8 -11
  382. package/source/RTD/Directives.ts +32 -4
  383. package/source/RTD/Endpoint.ts +9 -4
  384. package/source/RTD/Match.ts +2 -7
  385. package/source/RTD/Method.ts +23 -13
  386. package/source/RTD/Node.ts +37 -22
  387. package/source/RTD/Route.ts +12 -5
  388. package/source/RTD/Tree.ts +22 -17
  389. package/source/RTD/factory.ts +7 -7
  390. package/source/RTD/segment.ts +2 -0
  391. package/source/RTD/syntax/parse.test.ts +1 -1
  392. package/source/RTD/syntax/parse.ts +37 -24
  393. package/source/RTD/syntax/types.ts +8 -4
  394. package/source/Remotes.ts +7 -6
  395. package/source/Tenant.ts +6 -20
  396. package/source/deployment.ts +35 -19
  397. package/source/directives/auth/Anonymous.ts +5 -4
  398. package/source/directives/auth/Anyone.ts +13 -0
  399. package/source/directives/auth/Assert.ts +35 -0
  400. package/source/directives/auth/Authorization.ts +81 -35
  401. package/source/directives/auth/Delegate.ts +39 -0
  402. package/source/directives/auth/Echo.ts +16 -6
  403. package/source/directives/auth/Federation.ts +84 -0
  404. package/source/directives/auth/Id.ts +1 -1
  405. package/source/directives/auth/Incept.ts +72 -23
  406. package/source/directives/auth/Input.ts +72 -0
  407. package/source/directives/auth/Role.test.ts +53 -6
  408. package/source/directives/auth/Role.ts +27 -21
  409. package/source/directives/auth/Rule.ts +3 -5
  410. package/source/directives/auth/Scheme.ts +5 -5
  411. package/source/directives/auth/create.ts +11 -0
  412. package/source/directives/auth/schemes.ts +5 -2
  413. package/source/directives/auth/split.ts +1 -1
  414. package/source/directives/auth/types.ts +13 -8
  415. package/source/directives/cache/Cache.ts +17 -8
  416. package/source/directives/cache/Control.ts +49 -23
  417. package/source/directives/cache/types.ts +1 -1
  418. package/source/directives/cors/CORS.ts +25 -17
  419. package/source/directives/dev/Development.ts +17 -10
  420. package/source/directives/dev/Faulty.ts +26 -0
  421. package/source/directives/dev/Sleep.ts +55 -0
  422. package/source/directives/dev/types.ts +1 -1
  423. package/source/directives/flow/Compose.ts +92 -0
  424. package/source/directives/flow/Fetch.ts +86 -0
  425. package/source/directives/flow/Flow.ts +42 -0
  426. package/source/directives/flow/index.ts +3 -0
  427. package/source/directives/flow/types.ts +7 -0
  428. package/source/directives/index.ts +8 -5
  429. package/source/directives/io/Directive.ts +14 -0
  430. package/source/directives/io/IO.ts +55 -0
  431. package/source/directives/io/Input.ts +53 -0
  432. package/source/directives/io/Message.ts +1 -0
  433. package/source/directives/io/Output.ts +70 -0
  434. package/source/directives/io/Throttle.ts +32 -0
  435. package/source/directives/io/index.ts +3 -0
  436. package/source/directives/io/lib/throttle/Configuration.test.ts +40 -0
  437. package/source/directives/io/lib/throttle/Configuration.ts +58 -0
  438. package/source/directives/io/lib/throttle/Interval.ts +31 -0
  439. package/source/directives/io/lib/throttle/Keys.ts +40 -0
  440. package/source/directives/io/lib/throttle/Quota.ts +22 -0
  441. package/source/directives/io/lib/throttle/Quotas.test.ts +136 -0
  442. package/source/directives/io/lib/throttle/Quotas.ts +83 -0
  443. package/source/directives/io/lib/throttle/components/Component.ts +5 -0
  444. package/source/directives/io/lib/throttle/components/IP.ts +40 -0
  445. package/source/directives/io/lib/throttle/components/Path.ts +8 -0
  446. package/source/directives/io/lib/throttle/components/index.ts +13 -0
  447. package/source/directives/io/lib/throttle/conditions/Condition.ts +5 -0
  448. package/source/directives/io/lib/throttle/conditions/Status.ts +17 -0
  449. package/source/directives/io/lib/throttle/conditions/index.ts +11 -0
  450. package/source/directives/io/lib/throttle/index.ts +2 -0
  451. package/source/directives/io/schemas.test.ts +9 -0
  452. package/source/directives/io/schemas.ts +15 -0
  453. package/source/directives/map/Authority.ts +15 -0
  454. package/source/directives/map/Claims.ts +58 -0
  455. package/source/directives/map/Directive.ts +4 -0
  456. package/source/directives/map/Headers.ts +38 -0
  457. package/source/directives/map/Language.ts +42 -0
  458. package/source/directives/map/Languages.ts +11 -0
  459. package/source/directives/map/Map.ts +61 -0
  460. package/source/directives/map/Mapping.ts +19 -0
  461. package/source/directives/{vary → map}/Properties.ts +2 -4
  462. package/source/directives/map/Segments.ts +33 -0
  463. package/source/directives/map/index.ts +3 -0
  464. package/source/directives/octets/Context.ts +8 -6
  465. package/source/directives/octets/Delete.ts +38 -22
  466. package/source/directives/octets/Directive.ts +10 -0
  467. package/source/directives/octets/Get.ts +96 -0
  468. package/source/directives/octets/Octets.ts +19 -18
  469. package/source/directives/octets/Put.ts +140 -0
  470. package/source/directives/octets/Workflow.ts +54 -0
  471. package/source/directives/octets/bytes.test.ts +30 -0
  472. package/source/directives/octets/bytes.ts +18 -0
  473. package/source/directives/octets/schemas.test.ts +21 -0
  474. package/source/directives/octets/schemas.ts +6 -8
  475. package/source/directives/octets/types.ts +2 -7
  476. package/source/directives/octets/{workflow → workflows}/Execution.ts +62 -10
  477. package/source/directives/octets/{workflow → workflows}/Workflow.ts +18 -7
  478. package/source/directives/octets/workflows/index.ts +1 -0
  479. package/source/directives/require/Directive.ts +5 -0
  480. package/source/directives/require/Headers.ts +20 -0
  481. package/source/directives/require/Require.ts +28 -0
  482. package/source/directives/require/index.ts +3 -0
  483. package/source/exceptions.ts +32 -9
  484. package/source/io.ts +2 -2
  485. package/source/manifest.ts +10 -11
  486. package/source/root.ts +20 -0
  487. package/source/schemas.ts +1 -1
  488. package/transpiled/Annotation.d.ts +5 -2
  489. package/transpiled/Branch.d.ts +1 -0
  490. package/transpiled/Composition.d.ts +0 -1
  491. package/transpiled/Composition.js +0 -4
  492. package/transpiled/Composition.js.map +1 -1
  493. package/transpiled/Context.d.ts +7 -4
  494. package/transpiled/Directive.d.ts +11 -21
  495. package/transpiled/Directive.js +32 -17
  496. package/transpiled/Directive.js.map +1 -1
  497. package/transpiled/Endpoint.d.ts +12 -8
  498. package/transpiled/Endpoint.js +111 -7
  499. package/transpiled/Endpoint.js.map +1 -1
  500. package/transpiled/Factory.d.ts +3 -2
  501. package/transpiled/Factory.js +20 -6
  502. package/transpiled/Factory.js.map +1 -1
  503. package/transpiled/Gateway.d.ts +7 -8
  504. package/transpiled/Gateway.js +72 -37
  505. package/transpiled/Gateway.js.map +1 -1
  506. package/transpiled/HTTP/Context.d.ts +32 -0
  507. package/transpiled/HTTP/Context.js +63 -0
  508. package/transpiled/HTTP/Context.js.map +1 -0
  509. package/transpiled/HTTP/Server.d.ts +22 -10
  510. package/transpiled/HTTP/Server.js +177 -102
  511. package/transpiled/HTTP/Server.js.map +1 -1
  512. package/transpiled/HTTP/Timing.d.ts +10 -0
  513. package/transpiled/HTTP/Timing.js +29 -0
  514. package/transpiled/HTTP/Timing.js.map +1 -0
  515. package/transpiled/HTTP/exceptions.d.ts +16 -4
  516. package/transpiled/HTTP/exceptions.js +34 -10
  517. package/transpiled/HTTP/exceptions.js.map +1 -1
  518. package/transpiled/HTTP/formats/index.d.ts +1 -1
  519. package/transpiled/HTTP/formats/index.js +3 -3
  520. package/transpiled/HTTP/formats/index.js.map +1 -1
  521. package/transpiled/HTTP/formats/json.d.ts +1 -1
  522. package/transpiled/HTTP/formats/json.js +1 -2
  523. package/transpiled/HTTP/formats/json.js.map +1 -1
  524. package/transpiled/HTTP/formats/msgpack.d.ts +1 -1
  525. package/transpiled/HTTP/formats/msgpack.js.map +1 -1
  526. package/transpiled/HTTP/formats/text.d.ts +1 -1
  527. package/transpiled/HTTP/formats/text.js +1 -2
  528. package/transpiled/HTTP/formats/text.js.map +1 -1
  529. package/transpiled/HTTP/formats/yaml.d.ts +1 -1
  530. package/transpiled/HTTP/formats/yaml.js +1 -2
  531. package/transpiled/HTTP/formats/yaml.js.map +1 -1
  532. package/transpiled/HTTP/index.d.ts +1 -0
  533. package/transpiled/HTTP/index.js +1 -0
  534. package/transpiled/HTTP/index.js.map +1 -1
  535. package/transpiled/HTTP/messages.d.ts +10 -21
  536. package/transpiled/HTTP/messages.js +87 -32
  537. package/transpiled/HTTP/messages.js.map +1 -1
  538. package/transpiled/Introspection.d.ts +9 -0
  539. package/transpiled/Introspection.js +3 -0
  540. package/transpiled/Introspection.js.map +1 -0
  541. package/transpiled/Mapping.d.ts +11 -2
  542. package/transpiled/Mapping.js +53 -21
  543. package/transpiled/Mapping.js.map +1 -1
  544. package/transpiled/Query.d.ts +12 -1
  545. package/transpiled/Query.js +93 -30
  546. package/transpiled/Query.js.map +1 -1
  547. package/transpiled/RTD/Context.d.ts +8 -7
  548. package/transpiled/RTD/Directives.d.ts +22 -4
  549. package/transpiled/RTD/Endpoint.d.ts +7 -4
  550. package/transpiled/RTD/Match.d.ts +2 -4
  551. package/transpiled/RTD/Method.d.ts +11 -7
  552. package/transpiled/RTD/Method.js +11 -0
  553. package/transpiled/RTD/Method.js.map +1 -1
  554. package/transpiled/RTD/Node.d.ts +8 -7
  555. package/transpiled/RTD/Node.js +24 -12
  556. package/transpiled/RTD/Node.js.map +1 -1
  557. package/transpiled/RTD/Route.d.ts +2 -1
  558. package/transpiled/RTD/Route.js +7 -3
  559. package/transpiled/RTD/Route.js.map +1 -1
  560. package/transpiled/RTD/Tree.d.ts +8 -7
  561. package/transpiled/RTD/Tree.js +7 -1
  562. package/transpiled/RTD/Tree.js.map +1 -1
  563. package/transpiled/RTD/factory.d.ts +2 -4
  564. package/transpiled/RTD/factory.js +5 -2
  565. package/transpiled/RTD/factory.js.map +1 -1
  566. package/transpiled/RTD/segment.d.ts +1 -0
  567. package/transpiled/RTD/segment.js +2 -0
  568. package/transpiled/RTD/segment.js.map +1 -1
  569. package/transpiled/RTD/syntax/parse.js +34 -22
  570. package/transpiled/RTD/syntax/parse.js.map +1 -1
  571. package/transpiled/RTD/syntax/types.d.ts +7 -3
  572. package/transpiled/RTD/syntax/types.js +1 -1
  573. package/transpiled/RTD/syntax/types.js.map +1 -1
  574. package/transpiled/Remotes.d.ts +4 -4
  575. package/transpiled/Remotes.js +6 -5
  576. package/transpiled/Remotes.js.map +1 -1
  577. package/transpiled/Tenant.d.ts +5 -5
  578. package/transpiled/Tenant.js +3 -14
  579. package/transpiled/Tenant.js.map +1 -1
  580. package/transpiled/deployment.d.ts +1 -1
  581. package/transpiled/deployment.js +29 -16
  582. package/transpiled/deployment.js.map +1 -1
  583. package/transpiled/directives/auth/Anonymous.d.ts +2 -2
  584. package/transpiled/directives/auth/Anonymous.js +4 -5
  585. package/transpiled/directives/auth/Anonymous.js.map +1 -1
  586. package/transpiled/directives/auth/Anyone.d.ts +6 -0
  587. package/transpiled/directives/auth/Anyone.js +14 -0
  588. package/transpiled/directives/auth/Anyone.js.map +1 -0
  589. package/transpiled/directives/auth/Assert.d.ts +7 -0
  590. package/transpiled/directives/auth/Assert.js +57 -0
  591. package/transpiled/directives/auth/Assert.js.map +1 -0
  592. package/transpiled/directives/auth/Authorization.d.ts +6 -6
  593. package/transpiled/directives/auth/Authorization.js +59 -27
  594. package/transpiled/directives/auth/Authorization.js.map +1 -1
  595. package/transpiled/directives/auth/Delegate.d.ts +9 -0
  596. package/transpiled/directives/auth/Delegate.js +33 -0
  597. package/transpiled/directives/auth/Delegate.js.map +1 -0
  598. package/transpiled/directives/auth/Echo.d.ts +4 -4
  599. package/transpiled/directives/auth/Echo.js +11 -4
  600. package/transpiled/directives/auth/Echo.js.map +1 -1
  601. package/transpiled/directives/auth/Federation.d.ts +16 -0
  602. package/transpiled/directives/auth/Federation.js +57 -0
  603. package/transpiled/directives/auth/Federation.js.map +1 -0
  604. package/transpiled/directives/auth/Id.d.ts +1 -1
  605. package/transpiled/directives/auth/Id.js.map +1 -1
  606. package/transpiled/directives/auth/Incept.d.ts +7 -5
  607. package/transpiled/directives/auth/Incept.js +57 -18
  608. package/transpiled/directives/auth/Incept.js.map +1 -1
  609. package/transpiled/directives/auth/Input.d.ts +13 -0
  610. package/transpiled/directives/auth/Input.js +49 -0
  611. package/transpiled/directives/auth/Input.js.map +1 -0
  612. package/transpiled/directives/auth/Role.d.ts +5 -2
  613. package/transpiled/directives/auth/Role.js +26 -20
  614. package/transpiled/directives/auth/Role.js.map +1 -1
  615. package/transpiled/directives/auth/Rule.d.ts +2 -4
  616. package/transpiled/directives/auth/Rule.js +2 -2
  617. package/transpiled/directives/auth/Rule.js.map +1 -1
  618. package/transpiled/directives/auth/Scheme.d.ts +2 -2
  619. package/transpiled/directives/auth/Scheme.js +4 -4
  620. package/transpiled/directives/auth/Scheme.js.map +1 -1
  621. package/transpiled/directives/auth/create.d.ts +2 -0
  622. package/transpiled/directives/auth/create.js +14 -0
  623. package/transpiled/directives/auth/create.js.map +1 -0
  624. package/transpiled/directives/auth/schemes.d.ts +2 -1
  625. package/transpiled/directives/auth/schemes.js +5 -2
  626. package/transpiled/directives/auth/schemes.js.map +1 -1
  627. package/transpiled/directives/auth/split.js +1 -1
  628. package/transpiled/directives/auth/split.js.map +1 -1
  629. package/transpiled/directives/auth/types.d.ts +10 -7
  630. package/transpiled/directives/cache/Cache.d.ts +5 -5
  631. package/transpiled/directives/cache/Cache.js +12 -4
  632. package/transpiled/directives/cache/Cache.js.map +1 -1
  633. package/transpiled/directives/cache/Control.d.ts +6 -5
  634. package/transpiled/directives/cache/Control.js +34 -17
  635. package/transpiled/directives/cache/Control.js.map +1 -1
  636. package/transpiled/directives/cache/types.d.ts +1 -1
  637. package/transpiled/directives/cors/CORS.d.ts +2 -3
  638. package/transpiled/directives/cors/CORS.js +22 -15
  639. package/transpiled/directives/cors/CORS.js.map +1 -1
  640. package/transpiled/directives/dev/Development.d.ts +4 -4
  641. package/transpiled/directives/dev/Development.js +15 -7
  642. package/transpiled/directives/dev/Development.js.map +1 -1
  643. package/transpiled/directives/dev/Faulty.d.ts +8 -0
  644. package/transpiled/directives/dev/Faulty.js +26 -0
  645. package/transpiled/directives/dev/Faulty.js.map +1 -0
  646. package/transpiled/directives/dev/Sleep.d.ts +9 -0
  647. package/transpiled/directives/dev/Sleep.js +48 -0
  648. package/transpiled/directives/dev/Sleep.js.map +1 -0
  649. package/transpiled/directives/dev/types.d.ts +1 -1
  650. package/transpiled/directives/flow/Compose.d.ts +9 -0
  651. package/transpiled/directives/flow/Compose.js +94 -0
  652. package/transpiled/directives/flow/Compose.js.map +1 -0
  653. package/transpiled/directives/flow/Fetch.d.ts +12 -0
  654. package/transpiled/directives/flow/Fetch.js +58 -0
  655. package/transpiled/directives/flow/Fetch.js.map +1 -0
  656. package/transpiled/directives/flow/Flow.d.ts +10 -0
  657. package/transpiled/directives/flow/Flow.js +33 -0
  658. package/transpiled/directives/flow/Flow.js.map +1 -0
  659. package/transpiled/directives/flow/index.d.ts +2 -0
  660. package/transpiled/directives/flow/index.js +6 -0
  661. package/transpiled/directives/flow/index.js.map +1 -0
  662. package/transpiled/directives/flow/types.d.ts +6 -0
  663. package/transpiled/directives/flow/types.js.map +1 -0
  664. package/transpiled/directives/index.d.ts +2 -2
  665. package/transpiled/directives/index.js +7 -4
  666. package/transpiled/directives/index.js.map +1 -1
  667. package/transpiled/directives/io/Directive.d.ts +11 -0
  668. package/transpiled/directives/io/Directive.js.map +1 -0
  669. package/transpiled/directives/io/IO.d.ts +11 -0
  670. package/transpiled/directives/io/IO.js +43 -0
  671. package/transpiled/directives/io/IO.js.map +1 -0
  672. package/transpiled/directives/io/Input.d.ts +11 -0
  673. package/transpiled/directives/io/Input.js +65 -0
  674. package/transpiled/directives/io/Input.js.map +1 -0
  675. package/transpiled/directives/io/Message.d.ts +1 -0
  676. package/transpiled/directives/io/Message.js +3 -0
  677. package/transpiled/directives/io/Message.js.map +1 -0
  678. package/transpiled/directives/io/Output.d.ts +13 -0
  679. package/transpiled/directives/io/Output.js +76 -0
  680. package/transpiled/directives/io/Output.js.map +1 -0
  681. package/transpiled/directives/io/Throttle.d.ts +11 -0
  682. package/transpiled/directives/{octets/Permute.js → io/Throttle.js} +21 -21
  683. package/transpiled/directives/io/Throttle.js.map +1 -0
  684. package/transpiled/directives/io/index.d.ts +2 -0
  685. package/transpiled/directives/io/index.js +6 -0
  686. package/transpiled/directives/io/index.js.map +1 -0
  687. package/transpiled/directives/io/lib/throttle/Configuration.d.ts +23 -0
  688. package/transpiled/directives/io/lib/throttle/Configuration.js +27 -0
  689. package/transpiled/directives/io/lib/throttle/Configuration.js.map +1 -0
  690. package/transpiled/directives/io/lib/throttle/Interval.d.ts +9 -0
  691. package/transpiled/directives/io/lib/throttle/Interval.js +31 -0
  692. package/transpiled/directives/io/lib/throttle/Interval.js.map +1 -0
  693. package/transpiled/directives/io/lib/throttle/Keys.d.ts +12 -0
  694. package/transpiled/directives/io/lib/throttle/Keys.js +34 -0
  695. package/transpiled/directives/io/lib/throttle/Keys.js.map +1 -0
  696. package/transpiled/directives/io/lib/throttle/Quota.d.ts +8 -0
  697. package/transpiled/directives/io/lib/throttle/Quota.js +22 -0
  698. package/transpiled/directives/io/lib/throttle/Quota.js.map +1 -0
  699. package/transpiled/directives/io/lib/throttle/Quotas.d.ts +26 -0
  700. package/transpiled/directives/io/lib/throttle/Quotas.js +61 -0
  701. package/transpiled/directives/io/lib/throttle/Quotas.js.map +1 -0
  702. package/transpiled/directives/io/lib/throttle/components/Component.d.ts +4 -0
  703. package/transpiled/directives/io/lib/throttle/components/Component.js +3 -0
  704. package/transpiled/directives/io/lib/throttle/components/Component.js.map +1 -0
  705. package/transpiled/directives/io/lib/throttle/components/IP.d.ts +6 -0
  706. package/transpiled/directives/io/lib/throttle/components/IP.js +33 -0
  707. package/transpiled/directives/io/lib/throttle/components/IP.js.map +1 -0
  708. package/transpiled/directives/io/lib/throttle/components/Path.d.ts +5 -0
  709. package/transpiled/directives/io/lib/throttle/components/Path.js +10 -0
  710. package/transpiled/directives/io/lib/throttle/components/Path.js.map +1 -0
  711. package/transpiled/directives/io/lib/throttle/components/index.d.ts +5 -0
  712. package/transpiled/directives/io/lib/throttle/components/index.js +10 -0
  713. package/transpiled/directives/io/lib/throttle/components/index.js.map +1 -0
  714. package/transpiled/directives/io/lib/throttle/conditions/Condition.d.ts +4 -0
  715. package/transpiled/directives/io/lib/throttle/conditions/Condition.js +3 -0
  716. package/transpiled/directives/io/lib/throttle/conditions/Condition.js.map +1 -0
  717. package/transpiled/directives/io/lib/throttle/conditions/Status.d.ts +7 -0
  718. package/transpiled/directives/io/lib/throttle/conditions/Status.js +19 -0
  719. package/transpiled/directives/io/lib/throttle/conditions/Status.js.map +1 -0
  720. package/transpiled/directives/io/lib/throttle/conditions/index.d.ts +5 -0
  721. package/transpiled/directives/io/lib/throttle/conditions/index.js +8 -0
  722. package/transpiled/directives/io/lib/throttle/conditions/index.js.map +1 -0
  723. package/transpiled/directives/io/lib/throttle/index.d.ts +2 -0
  724. package/transpiled/directives/io/lib/throttle/index.js +8 -0
  725. package/transpiled/directives/io/lib/throttle/index.js.map +1 -0
  726. package/transpiled/directives/io/schemas.d.ts +9 -0
  727. package/transpiled/directives/io/schemas.js +15 -0
  728. package/transpiled/directives/io/schemas.js.map +1 -0
  729. package/transpiled/directives/map/Authority.d.ts +6 -0
  730. package/transpiled/directives/map/Authority.js +19 -0
  731. package/transpiled/directives/map/Authority.js.map +1 -0
  732. package/transpiled/directives/map/Claims.d.ts +10 -0
  733. package/transpiled/directives/map/Claims.js +44 -0
  734. package/transpiled/directives/map/Claims.js.map +1 -0
  735. package/transpiled/directives/map/Directive.d.ts +3 -0
  736. package/transpiled/directives/map/Directive.js +3 -0
  737. package/transpiled/directives/map/Directive.js.map +1 -0
  738. package/transpiled/directives/map/Headers.d.ts +7 -0
  739. package/transpiled/directives/map/Headers.js +34 -0
  740. package/transpiled/directives/map/Headers.js.map +1 -0
  741. package/transpiled/directives/map/Language.d.ts +10 -0
  742. package/transpiled/directives/map/Language.js +38 -0
  743. package/transpiled/directives/map/Language.js.map +1 -0
  744. package/transpiled/directives/map/Languages.d.ts +4 -0
  745. package/transpiled/directives/map/Languages.js +17 -0
  746. package/transpiled/directives/map/Languages.js.map +1 -0
  747. package/transpiled/directives/map/Map.d.ts +13 -0
  748. package/transpiled/directives/map/Map.js +46 -0
  749. package/transpiled/directives/map/Map.js.map +1 -0
  750. package/transpiled/directives/map/Mapping.d.ts +13 -0
  751. package/transpiled/directives/map/Mapping.js +13 -0
  752. package/transpiled/directives/map/Mapping.js.map +1 -0
  753. package/transpiled/directives/{vary → map}/Properties.d.ts +2 -2
  754. package/transpiled/directives/{vary → map}/Properties.js +1 -3
  755. package/transpiled/directives/map/Properties.js.map +1 -0
  756. package/transpiled/directives/map/Segments.d.ts +6 -0
  757. package/transpiled/directives/map/Segments.js +30 -0
  758. package/transpiled/directives/map/Segments.js.map +1 -0
  759. package/transpiled/directives/map/index.d.ts +2 -0
  760. package/transpiled/directives/map/index.js +6 -0
  761. package/transpiled/directives/map/index.js.map +1 -0
  762. package/transpiled/directives/octets/Context.d.ts +4 -4
  763. package/transpiled/directives/octets/Context.js +8 -26
  764. package/transpiled/directives/octets/Context.js.map +1 -1
  765. package/transpiled/directives/octets/Delete.d.ts +5 -4
  766. package/transpiled/directives/octets/Delete.js +32 -17
  767. package/transpiled/directives/octets/Delete.js.map +1 -1
  768. package/transpiled/directives/octets/Directive.d.ts +8 -0
  769. package/transpiled/directives/octets/Directive.js +8 -0
  770. package/transpiled/directives/octets/Directive.js.map +1 -0
  771. package/transpiled/directives/octets/Get.d.ts +17 -0
  772. package/transpiled/directives/octets/Get.js +96 -0
  773. package/transpiled/directives/octets/Get.js.map +1 -0
  774. package/transpiled/directives/octets/Octets.d.ts +4 -4
  775. package/transpiled/directives/octets/Octets.js +15 -14
  776. package/transpiled/directives/octets/Octets.js.map +1 -1
  777. package/transpiled/directives/octets/{Store.d.ts → Put.d.ts} +13 -5
  778. package/transpiled/directives/octets/Put.js +101 -0
  779. package/transpiled/directives/octets/Put.js.map +1 -0
  780. package/transpiled/directives/octets/Workflow.d.ts +15 -0
  781. package/transpiled/directives/octets/{List.js → Workflow.js} +29 -30
  782. package/transpiled/directives/octets/Workflow.js.map +1 -0
  783. package/transpiled/directives/octets/bytes.d.ts +1 -0
  784. package/transpiled/directives/octets/bytes.js +21 -0
  785. package/transpiled/directives/octets/bytes.js.map +1 -0
  786. package/transpiled/directives/octets/schemas.d.ts +6 -8
  787. package/transpiled/directives/octets/schemas.js +4 -6
  788. package/transpiled/directives/octets/schemas.js.map +1 -1
  789. package/transpiled/directives/octets/types.d.ts +2 -5
  790. package/transpiled/directives/octets/{workflow → workflows}/Execution.d.ts +7 -1
  791. package/transpiled/directives/octets/workflows/Execution.js +89 -0
  792. package/transpiled/directives/octets/workflows/Execution.js.map +1 -0
  793. package/transpiled/directives/octets/{workflow → workflows}/Workflow.d.ts +8 -3
  794. package/transpiled/directives/octets/{workflow → workflows}/Workflow.js +10 -4
  795. package/transpiled/directives/octets/workflows/Workflow.js.map +1 -0
  796. package/transpiled/directives/octets/workflows/index.d.ts +1 -0
  797. package/transpiled/directives/octets/workflows/index.js.map +1 -0
  798. package/transpiled/directives/require/Directive.d.ts +4 -0
  799. package/transpiled/directives/require/Directive.js +3 -0
  800. package/transpiled/directives/require/Directive.js.map +1 -0
  801. package/transpiled/directives/require/Headers.d.ts +7 -0
  802. package/transpiled/directives/require/Headers.js +19 -0
  803. package/transpiled/directives/require/Headers.js.map +1 -0
  804. package/transpiled/directives/require/Require.d.ts +9 -0
  805. package/transpiled/directives/require/Require.js +27 -0
  806. package/transpiled/directives/require/Require.js.map +1 -0
  807. package/transpiled/directives/require/index.d.ts +2 -0
  808. package/transpiled/directives/require/index.js +6 -0
  809. package/transpiled/directives/require/index.js.map +1 -0
  810. package/transpiled/exceptions.d.ts +3 -2
  811. package/transpiled/exceptions.js +22 -7
  812. package/transpiled/exceptions.js.map +1 -1
  813. package/transpiled/io.d.ts +2 -2
  814. package/transpiled/manifest.js +10 -11
  815. package/transpiled/manifest.js.map +1 -1
  816. package/transpiled/root.js +20 -0
  817. package/transpiled/root.js.map +1 -1
  818. package/transpiled/schemas.d.ts +1 -1
  819. package/transpiled/schemas.js +2 -2
  820. package/transpiled/schemas.js.map +1 -1
  821. package/transpiled/tsconfig.tsbuildinfo +1 -1
  822. package/components/identity.basic/operations/create.d.ts +0 -10
  823. package/components/identity.basic/operations/create.js +0 -10
  824. package/components/identity.basic/operations/create.js.map +0 -1
  825. package/components/identity.basic/source/create.ts +0 -18
  826. package/components/identity.federation/operations/assertions-as-values.cjs.map +0 -1
  827. package/components/identity.federation/operations/assertions-as-values.d.cts +0 -4
  828. package/components/identity.federation/operations/create.d.ts +0 -10
  829. package/components/identity.federation/operations/create.js +0 -15
  830. package/components/identity.federation/operations/create.js.map +0 -1
  831. package/components/identity.federation/operations/jwt.cjs +0 -112
  832. package/components/identity.federation/operations/jwt.cjs.map +0 -1
  833. package/components/identity.federation/operations/jwt.d.cts +0 -19
  834. package/components/identity.federation/operations/schemas.d.ts +0 -43
  835. package/components/identity.federation/operations/schemas.js +0 -9
  836. package/components/identity.federation/operations/schemas.js.map +0 -1
  837. package/components/identity.federation/operations/types.d.ts +0 -51
  838. package/components/identity.federation/operations/types.js.map +0 -1
  839. package/components/identity.federation/source/assertions-as-values.cts +0 -20
  840. package/components/identity.federation/source/create.ts +0 -26
  841. package/components/identity.federation/source/jwt.cts +0 -143
  842. package/components/identity.federation/source/schemas.ts +0 -45
  843. package/components/identity.federation/source/types.ts +0 -56
  844. package/components/identity.tokens/operations/types.d.ts +0 -40
  845. package/components/identity.tokens/operations/types.js.map +0 -1
  846. package/components/identity.tokens/source/types.ts +0 -48
  847. package/components/octets.storage/operations/fetch.js +0 -46
  848. package/components/octets.storage/operations/list.js +0 -7
  849. package/components/octets.storage/operations/permute.js +0 -7
  850. package/components/octets.storage/operations/store.js +0 -11
  851. package/documentation/vary.md +0 -69
  852. package/features/steps/IdP.ts +0 -120
  853. package/features/steps/components/octets.tester/operations/diversify.js +0 -14
  854. package/features/vary.feature +0 -150
  855. package/schemas/octets/context.cos.yaml +0 -1
  856. package/schemas/octets/fetch.cos.yaml +0 -3
  857. package/schemas/octets/permute.cos.yaml +0 -1
  858. package/schemas/octets/store.cos.yaml +0 -3
  859. package/source/HTTP/Server.fixtures.ts +0 -40
  860. package/source/HTTP/Server.test.ts +0 -126
  861. package/source/directives/octets/Fetch.ts +0 -84
  862. package/source/directives/octets/List.ts +0 -62
  863. package/source/directives/octets/Permute.ts +0 -37
  864. package/source/directives/octets/Store.ts +0 -102
  865. package/source/directives/octets/workflow/index.ts +0 -1
  866. package/source/directives/vary/Directive.ts +0 -6
  867. package/source/directives/vary/Embed.ts +0 -62
  868. package/source/directives/vary/Vary.ts +0 -48
  869. package/source/directives/vary/embeddings/Embedding.ts +0 -6
  870. package/source/directives/vary/embeddings/Header.ts +0 -30
  871. package/source/directives/vary/embeddings/Language.ts +0 -31
  872. package/source/directives/vary/embeddings/index.ts +0 -11
  873. package/source/directives/vary/index.ts +0 -3
  874. package/transpiled/HTTP/Server.fixtures.d.ts +0 -10
  875. package/transpiled/HTTP/Server.fixtures.js +0 -31
  876. package/transpiled/HTTP/Server.fixtures.js.map +0 -1
  877. package/transpiled/directives/octets/Fetch.d.ts +0 -17
  878. package/transpiled/directives/octets/Fetch.js +0 -76
  879. package/transpiled/directives/octets/Fetch.js.map +0 -1
  880. package/transpiled/directives/octets/List.d.ts +0 -15
  881. package/transpiled/directives/octets/List.js.map +0 -1
  882. package/transpiled/directives/octets/Permute.d.ts +0 -10
  883. package/transpiled/directives/octets/Permute.js.map +0 -1
  884. package/transpiled/directives/octets/Store.js +0 -80
  885. package/transpiled/directives/octets/Store.js.map +0 -1
  886. package/transpiled/directives/octets/workflow/Execution.js +0 -55
  887. package/transpiled/directives/octets/workflow/Execution.js.map +0 -1
  888. package/transpiled/directives/octets/workflow/Workflow.js.map +0 -1
  889. package/transpiled/directives/octets/workflow/index.d.ts +0 -1
  890. package/transpiled/directives/octets/workflow/index.js.map +0 -1
  891. package/transpiled/directives/vary/Directive.d.ts +0 -5
  892. package/transpiled/directives/vary/Directive.js.map +0 -1
  893. package/transpiled/directives/vary/Embed.d.ts +0 -10
  894. package/transpiled/directives/vary/Embed.js +0 -49
  895. package/transpiled/directives/vary/Embed.js.map +0 -1
  896. package/transpiled/directives/vary/Properties.js.map +0 -1
  897. package/transpiled/directives/vary/Vary.d.ts +0 -10
  898. package/transpiled/directives/vary/Vary.js +0 -36
  899. package/transpiled/directives/vary/Vary.js.map +0 -1
  900. package/transpiled/directives/vary/embeddings/Embedding.d.ts +0 -5
  901. package/transpiled/directives/vary/embeddings/Embedding.js.map +0 -1
  902. package/transpiled/directives/vary/embeddings/Header.d.ts +0 -7
  903. package/transpiled/directives/vary/embeddings/Header.js +0 -26
  904. package/transpiled/directives/vary/embeddings/Header.js.map +0 -1
  905. package/transpiled/directives/vary/embeddings/Language.d.ts +0 -7
  906. package/transpiled/directives/vary/embeddings/Language.js +0 -28
  907. package/transpiled/directives/vary/embeddings/Language.js.map +0 -1
  908. package/transpiled/directives/vary/embeddings/index.d.ts +0 -5
  909. package/transpiled/directives/vary/embeddings/index.js +0 -10
  910. package/transpiled/directives/vary/embeddings/index.js.map +0 -1
  911. package/transpiled/directives/vary/index.d.ts +0 -2
  912. package/transpiled/directives/vary/index.js +0 -6
  913. package/transpiled/directives/vary/index.js.map +0 -1
  914. /package/components/{identity.federation/operations → identity.tokens/operations/lib}/types.js +0 -0
  915. /package/schemas/octets/{list.cos.yaml → get.cos.yaml} +0 -0
  916. /package/{components/identity.tokens/operations → transpiled/directives/flow}/types.js +0 -0
  917. /package/transpiled/directives/{vary → io}/Directive.js +0 -0
  918. /package/transpiled/directives/octets/{workflow → workflows}/index.js +0 -0
@@ -1,19 +1,55 @@
1
+ @security
1
2
  Feature: Caching
2
3
 
3
4
  Background:
4
5
  Given the `identity.basic` database contains:
5
6
  # developer:secret
6
7
  # user:12345
7
- | _id | username | password |
8
- | b70a7dbca6b14a2eaac8a9eb4b2ff4db | developer | $2b$10$ZRSKkgZoGnrcTNA5w5eCcu3pxDzdTduhteVYXcp56AaNcilNkwJ.O |
8
+ | _id | authority | username | password |
9
+ | b70a7dbca6b14a2eaac8a9eb4b2ff4db | nex | developer | $2b$10$ZRSKkgZoGnrcTNA5w5eCcu3pxDzdTduhteVYXcp56AaNcilNkwJ.O |
9
10
  Given the `identity.roles` database contains:
10
11
  | _id | identity | role |
11
12
  | 775a648d054e4ce1a65f8f17e5b51803 | b70a7dbca6b14a2eaac8a9eb4b2ff4db | developer |
12
13
 
14
+ Scenario: Default caching
15
+ Given the annotation:
16
+ """yaml
17
+ /:
18
+ anonymous: true
19
+ GET:
20
+ dev:stub: foo
21
+ /private:
22
+ auth:role: developer
23
+ GET:
24
+ dev:stub: bar
25
+ """
26
+ When the following request is received:
27
+ """
28
+ GET / HTTP/1.1
29
+ host: nex.toa.io
30
+ """
31
+ Then the reply does not contain:
32
+ """
33
+ cache-control:
34
+ """
35
+ When the following request is received:
36
+ """
37
+ GET /private/ HTTP/1.1
38
+ host: nex.toa.io
39
+ authorization: Basic ZGV2ZWxvcGVyOnNlY3JldA==
40
+ """
41
+ Then the following reply is sent:
42
+ """
43
+ 200 OK
44
+
45
+ cache-control: no-store
46
+ """
47
+
13
48
  Scenario: Caching successful response
14
49
  Given the annotation:
15
50
  """yaml
16
51
  /:
52
+ io:output: true
17
53
  anonymous: true
18
54
  GET:
19
55
  cache:control: max-age=60000
@@ -22,6 +58,7 @@ Feature: Caching
22
58
  When the following request is received:
23
59
  """
24
60
  GET / HTTP/1.1
61
+ host: nex.toa.io
25
62
  accept: text/plain
26
63
  """
27
64
  Then the following reply is sent:
@@ -37,6 +74,7 @@ Feature: Caching
37
74
  Given the annotation:
38
75
  """yaml
39
76
  /:
77
+ io:output: true
40
78
  cache:control: max-age=30000
41
79
  GET:
42
80
  anonymous: true
@@ -51,9 +89,22 @@ Feature: Caching
51
89
  GET:
52
90
  dev:stub: hello
53
91
  """
92
+ When the following request is received:
93
+ """
94
+ GET /identity/ HTTP/1.1
95
+ host: nex.toa.io
96
+ authorization: Basic ZGV2ZWxvcGVyOnNlY3JldA==
97
+ """
98
+ Then the following reply is sent:
99
+ """
100
+ 200 OK
101
+ authorization: Token ${{ token }}
102
+ cache-control: no-store
103
+ """
54
104
  When the following request is received:
55
105
  """
56
106
  GET / HTTP/1.1
107
+ host: nex.toa.io
57
108
  accept: text/plain
58
109
  """
59
110
  Then the following reply is sent:
@@ -67,8 +118,9 @@ Feature: Caching
67
118
  When the following request is received:
68
119
  """
69
120
  GET /foo/ HTTP/1.1
121
+ host: nex.toa.io
70
122
  accept: text/plain
71
- authorization: Basic ZGV2ZWxvcGVyOnNlY3JldA==
123
+ authorization: Token ${{ token }}
72
124
  """
73
125
  Then the following reply is sent:
74
126
  """
@@ -81,8 +133,9 @@ Feature: Caching
81
133
  When the following request is received:
82
134
  """
83
135
  GET /bar/ HTTP/1.1
136
+ host: nex.toa.io
84
137
  accept: text/plain
85
- authorization: Basic ZGV2ZWxvcGVyOnNlY3JldA==
138
+ authorization: Token ${{ token }}
86
139
  """
87
140
  Then the following reply is sent:
88
141
  """
@@ -109,6 +162,7 @@ Feature: Caching
109
162
  When the following request is received:
110
163
  """
111
164
  POST / HTTP/1.1
165
+ host: nex.toa.io
112
166
  accept: application/yaml
113
167
  """
114
168
  Then the reply does not contain:
@@ -120,6 +174,7 @@ Feature: Caching
120
174
  Given the annotation:
121
175
  """yaml
122
176
  /:
177
+ io:output: true
123
178
  auth:role: developer
124
179
  cache:exact: max-age=60000, public
125
180
  GET:
@@ -127,8 +182,21 @@ Feature: Caching
127
182
  """
128
183
  When the following request is received:
129
184
  """
130
- GET / HTTP/1.1
185
+ GET /identity/ HTTP/1.1
186
+ host: nex.toa.io
131
187
  authorization: Basic ZGV2ZWxvcGVyOnNlY3JldA==
188
+ """
189
+ Then the following reply is sent:
190
+ """
191
+ 200 OK
192
+ authorization: Token ${{ token }}
193
+ cache-control: no-store
194
+ """
195
+ When the following request is received:
196
+ """
197
+ GET / HTTP/1.1
198
+ host: nex.toa.io
199
+ authorization: Token ${{ token }}
132
200
  accept: text/plain
133
201
 
134
202
  """
@@ -152,9 +220,103 @@ Feature: Caching
152
220
  When the following request is received:
153
221
  """
154
222
  GET / HTTP/1.1
223
+ host: nex.toa.io
155
224
  accept: text/plain
156
225
  """
157
226
  Then the reply does not contain:
158
227
  """
159
228
  cache-control:
160
229
  """
230
+
231
+ Scenario: Private responses are sent with `vary: authorization`
232
+ Given the `identity.basic` database contains:
233
+ | _id | authority | username | password |
234
+ | efe3a65ebbee47ed95a73edd911ea328 | nex | developer | $2b$10$ZRSKkgZoGnrcTNA5w5eCcu3pxDzdTduhteVYXcp56AaNcilNkwJ.O |
235
+ And the annotation:
236
+ """yaml
237
+ /:
238
+ /:id:
239
+ auth:id: id
240
+ cache:control: max-age=10000
241
+ GET:
242
+ dev:stub: Keep it
243
+ /sessions/:id:
244
+ auth:id: id
245
+ GET:
246
+ dev:stub: Keep it
247
+ """
248
+ When the following request is received:
249
+ """
250
+ GET /efe3a65ebbee47ed95a73edd911ea328/ HTTP/1.1
251
+ host: nex.toa.io
252
+ authorization: Basic ZGV2ZWxvcGVyOnNlY3JldA==
253
+ """
254
+ Then the following reply is sent:
255
+ """
256
+ 200 OK
257
+ authorization: Token ${{ token }}
258
+ cache-control: no-store
259
+ """
260
+ When the following request is received:
261
+ """
262
+ GET /efe3a65ebbee47ed95a73edd911ea328/ HTTP/1.1
263
+ host: nex.toa.io
264
+ authorization: Token ${{ token }}
265
+ """
266
+ Then the following reply is sent:
267
+ """
268
+ 200 OK
269
+ cache-control: private, max-age=10000
270
+ vary: authorization
271
+ """
272
+ When the following request is received:
273
+ """
274
+ GET /sessions/efe3a65ebbee47ed95a73edd911ea328/ HTTP/1.1
275
+ host: nex.toa.io
276
+ authorization: Token ${{ token }}
277
+ """
278
+ Then the following reply is sent:
279
+ """
280
+ 200 OK
281
+ cache-control: private
282
+ vary: authorization
283
+ """
284
+
285
+ Scenario: Authenticated `no-cache` responses
286
+ Given the `identity.basic` database contains:
287
+ | _id | authority | username | password |
288
+ | efe3a65ebbee47ed95a73edd911ea328 | nex | developer | $2b$10$ZRSKkgZoGnrcTNA5w5eCcu3pxDzdTduhteVYXcp56AaNcilNkwJ.O |
289
+ And the annotation:
290
+ """yaml
291
+ /:
292
+ /:id:
293
+ auth:id: id
294
+ cache:control: no-cache
295
+ GET:
296
+ dev:stub: Keep it
297
+ """
298
+ When the following request is received:
299
+ """
300
+ GET /efe3a65ebbee47ed95a73edd911ea328/ HTTP/1.1
301
+ host: nex.toa.io
302
+ authorization: Basic ZGV2ZWxvcGVyOnNlY3JldA==
303
+ """
304
+ # no-store since the response contains the token
305
+ Then the following reply is sent:
306
+ """
307
+ 200 OK
308
+ authorization: Token ${{ token }}
309
+ cache-control: no-store
310
+ """
311
+ When the following request is received:
312
+ """
313
+ GET /efe3a65ebbee47ed95a73edd911ea328/ HTTP/1.1
314
+ host: nex.toa.io
315
+ authorization: Token ${{ token }}
316
+ """
317
+ # private is added since the response is authenticated
318
+ Then the following reply is sent:
319
+ """
320
+ 200 OK
321
+ cache-control: private, no-cache
322
+ """
@@ -1,6 +1,7 @@
1
+ @security
1
2
  Feature: CORS Support
2
3
 
3
- Scenario: Using CORS
4
+ Scenario: Basic CORS permissions
4
5
  Given the annotation:
5
6
  """yaml
6
7
  /:
@@ -12,33 +13,55 @@ Feature: CORS Support
12
13
  When the following request is received:
13
14
  """
14
15
  OPTIONS / HTTP/1.1
16
+ host: nex.toa.io
15
17
  origin: https://hello.world
16
18
  """
17
19
  Then the following reply is sent:
18
20
  """
19
21
  204 No Content
20
22
  access-control-allow-origin: https://hello.world
21
- access-control-allow-methods: GET, POST, PUT, PATCH, DELETE
22
- access-control-allow-headers: accept, authorization, content-type
23
+ access-control-allow-methods: GET, POST, PUT, PATCH, DELETE, LOCK, UNLOCK
24
+ access-control-allow-headers: accept, authorization, content-type, if-match, if-none-match
23
25
  access-control-allow-credentials: true
24
26
  access-control-max-age: 3600
25
- cache-control: public, max-age=3600
27
+ cache-control: max-age=3600
26
28
  vary: origin
27
29
  """
28
30
  When the following request is received:
29
31
  """
30
32
  GET /foo/ HTTP/1.1
33
+ host: nex.toa.io
31
34
  origin: https://hello.world
32
35
  """
33
36
  Then the following reply is sent:
34
37
  """
35
38
  200 OK
36
39
  access-control-allow-origin: https://hello.world
37
- access-control-expose-headers: authorization, content-type, content-length, etag
40
+ access-control-allow-credentials: true
41
+ access-control-expose-headers: authorization, content-type, content-length, date, etag, last-modified
42
+ vary: origin
43
+ """
44
+
45
+ Scenario: Always vary CORS
46
+ Given the annotation:
47
+ """yaml
48
+ /:
49
+ anonymous: true
50
+ GET:
51
+ dev:stub: hello
52
+ """
53
+ When the following request is received:
54
+ """
55
+ GET / HTTP/1.1
56
+ host: nex.toa.io
57
+ """
58
+ Then the following reply is sent:
59
+ """
60
+ 200 OK
38
61
  vary: origin
39
62
  """
40
63
 
41
- Scenario: Errors contain CORS headers
64
+ Scenario: Errors have CORS headers
42
65
  Given the annotation:
43
66
  """yaml
44
67
  /:
@@ -49,24 +72,26 @@ Feature: CORS Support
49
72
  When the following request is received:
50
73
  """
51
74
  GET /bar/ HTTP/1.1
75
+ host: nex.toa.io
52
76
  origin: https://hello.world
53
77
  """
54
78
  Then the following reply is sent:
55
79
  """
56
80
  404 Not Found
57
81
  access-control-allow-origin: https://hello.world
58
- access-control-expose-headers: authorization, content-type, content-length, etag
82
+ access-control-expose-headers: authorization, content-type, content-length, date, etag, last-modified
59
83
  vary: origin
60
84
  """
61
85
  When the following request is received:
62
86
  """
63
87
  GET /foo/ HTTP/1.1
88
+ host: nex.toa.io
64
89
  origin: https://hello.world
65
90
  """
66
91
  Then the following reply is sent:
67
92
  """
68
93
  401 Unauthorized
69
94
  access-control-allow-origin: https://hello.world
70
- access-control-expose-headers: authorization, content-type, content-length, etag
95
+ access-control-expose-headers: authorization, content-type, content-length, date, etag, last-modified
71
96
  vary: origin
72
97
  """
@@ -0,0 +1,34 @@
1
+ Feature: Debugging
2
+
3
+ Scenario: Operation call
4
+ Given the `identity.basic` database contains:
5
+ | _id | authority | username | password |
6
+ | efe3a65ebbee47ed95a73edd911ea328 | nex | developer | $2b$10$ZRSKkgZoGnrcTNA5w5eCcu3pxDzdTduhteVYXcp56AaNcilNkwJ.O |
7
+ And the `identity.roles` database contains:
8
+ | _id | identity | role |
9
+ | 775a648d054e4ce1a65f8f17e5b51803 | efe3a65ebbee47ed95a73edd911ea328 | developer |
10
+ And the annotation:
11
+ """yaml
12
+ debug: true
13
+ """
14
+ And the `greeter` is running with the following manifest:
15
+ """yaml
16
+ exposition:
17
+ /:
18
+ auth:role: developer
19
+ io:output: true
20
+ GET: greet
21
+ """
22
+ When the following request is received:
23
+ """
24
+ GET /greeter/ HTTP/1.1
25
+ host: nex.toa.io
26
+ authorization: Basic ZGV2ZWxvcGVyOnNlY3JldA==
27
+ accept: text/plain
28
+ """
29
+ Then the following reply is sent:
30
+ """
31
+ 200 OK
32
+
33
+ Hello
34
+ """
@@ -0,0 +1,87 @@
1
+ Feature: Dev
2
+
3
+ Scenario: Delays
4
+ Given the annotation:
5
+ """yaml
6
+ /:
7
+ io:output: true
8
+ anonymous: true
9
+ dev:sleep: 3000
10
+ GET:
11
+ dev:stub: hello
12
+ /nested:
13
+ GET:
14
+ dev:stub: world
15
+ """
16
+ # CORS permission
17
+ When the following request is received:
18
+ """
19
+ OPTIONS / HTTP/1.1
20
+ origin: http://example.com
21
+ """
22
+ Then the following reply is sent:
23
+ """
24
+ 204 No Content
25
+ access-control-allow-headers: accept, authorization, content-type, if-match, if-none-match, sleep
26
+ """
27
+ When the following request is received:
28
+ """
29
+ GET / HTTP/1.1
30
+ sleep: [1000, 2000]
31
+ """
32
+ # check the response time
33
+ Then the following reply is sent:
34
+ """
35
+ 200 OK
36
+ """
37
+ When the following request is received:
38
+ """
39
+ GET /nested/ HTTP/1.1
40
+ sleep: [100, 300]
41
+ """
42
+ Then the following reply is sent:
43
+ """
44
+ 200 OK
45
+ """
46
+ When the following request is received:
47
+ """
48
+ GET / HTTP/1.1
49
+ sleep: [1000, 3500]
50
+ """
51
+ Then the following reply is sent:
52
+ """
53
+ 400 Bad Request
54
+
55
+ "Invalid sleep duration"
56
+ """
57
+
58
+ Scenario: Faulty mode
59
+ Given the annotation:
60
+ """yaml
61
+ /:
62
+ io:output: true
63
+ anonymous: true
64
+ dev:faulty: 1
65
+ GET:
66
+ dev:stub: hello
67
+ """
68
+ # CORS permission
69
+ When the following request is received:
70
+ """
71
+ OPTIONS / HTTP/1.1
72
+ origin: http://example.com
73
+ """
74
+ Then the following reply is sent:
75
+ """
76
+ 204 No Content
77
+ access-control-allow-headers: accept, authorization, content-type, if-match, if-none-match, faulty
78
+ """
79
+ When the following request is received:
80
+ """
81
+ GET / HTTP/1.1
82
+ faulty: 1
83
+ """
84
+ Then the following reply is sent:
85
+ """
86
+ 503 Service Unavailable
87
+ """
@@ -4,6 +4,7 @@ Feature: Directives
4
4
  Given the annotation:
5
5
  """yaml
6
6
  /:
7
+ io:output: true
7
8
  anonymous: true
8
9
  GET:
9
10
  dev:stub:
@@ -12,6 +13,7 @@ Feature: Directives
12
13
  When the following request is received:
13
14
  """
14
15
  GET / HTTP/1.1
16
+ host: nex.toa.io
15
17
  accept: application/json
16
18
  """
17
19
  Then the following reply is sent:
@@ -26,6 +28,7 @@ Feature: Directives
26
28
  Given the annotation:
27
29
  """yaml
28
30
  /:
31
+ io:output: true
29
32
  anonymous: true
30
33
  dev:stub:
31
34
  hello: again
@@ -36,6 +39,7 @@ Feature: Directives
36
39
  When the following request is received:
37
40
  """
38
41
  GET /pots/ HTTP/1.1
42
+ host: nex.toa.io
39
43
  accept: application/yaml
40
44
  """
41
45
  Then the following reply is sent:
@@ -48,6 +52,7 @@ Feature: Directives
48
52
  When the following request is received:
49
53
  """
50
54
  GET /pots/non-existent/ HTTP/1.1
55
+ host: nex.toa.io
51
56
  accept: application/yaml
52
57
  """
53
58
  Then the following reply is sent:
@@ -9,14 +9,17 @@ Feature: Dynamic tree updates
9
9
  Given the Gateway is running
10
10
  And the `pots` is running with the following manifest:
11
11
  """yaml
12
+ version: 1
12
13
  exposition:
13
14
  /:
15
+ io:output: true
14
16
  isolated: true
15
17
  GET: enumerate
16
18
  """
17
19
  When the following request is received:
18
20
  """
19
21
  GET /pots/ HTTP/1.1
22
+ host: nex.toa.io
20
23
  """
21
24
  Then the following reply is sent:
22
25
  """
@@ -25,13 +28,54 @@ Feature: Dynamic tree updates
25
28
  Then the `pots` is stopped
26
29
  Then the `pots` is running with the following manifest:
27
30
  """yaml
31
+ version: 2
28
32
  exposition:
29
33
  /:
34
+ io:output: true
30
35
  GET: enumerate
31
36
  """
32
37
  When the following request is received:
33
38
  """
34
39
  GET /pots/ HTTP/1.1
40
+ host: nex.toa.io
41
+ accept: application/yaml
42
+ """
43
+ Then the following reply is sent:
44
+ """
45
+ 200 OK
46
+ """
47
+
48
+ Scenario: Repeat routes
49
+ Given the Gateway is running
50
+ And the `pots` is running with the following manifest:
51
+ """yaml
52
+ exposition:
53
+ /:
54
+ io:output: true
55
+ GET: enumerate
56
+ """
57
+ When the following request is received:
58
+ """
59
+ GET /pots/ HTTP/1.1
60
+ host: nex.toa.io
61
+ accept: application/yaml
62
+ """
63
+ Then the following reply is sent:
64
+ """
65
+ 200 OK
66
+ """
67
+ Then the `pots` is stopped
68
+ And the `pots` is running with the following manifest:
69
+ """yaml
70
+ exposition:
71
+ /:
72
+ io:output: true
73
+ GET: enumerate
74
+ """
75
+ When the following request is received:
76
+ """
77
+ GET /pots/ HTTP/1.1
78
+ host: nex.toa.io
35
79
  accept: application/yaml
36
80
  """
37
81
  Then the following reply is sent:
@@ -42,25 +86,31 @@ Feature: Dynamic tree updates
42
86
  Scenario: Updating routes with conflict
43
87
  And the `pots` is running with the following manifest:
44
88
  """yaml
89
+ version: 1.0.0
45
90
  exposition:
46
91
  /:id:
92
+ io:output: true
47
93
  GET: observe
48
94
  """
49
95
  Then the `pots` is stopped
50
96
  Then the `pots` is running with the following manifest:
51
97
  """yaml
98
+ version: 1.1.0
52
99
  exposition:
53
- /:id:
54
- GET: observe
55
- /big:
56
- GET:
57
- endpoint: enumerate
58
- query:
59
- criteria: volume>200
100
+ /:
101
+ io:output: true
102
+ /:id:
103
+ GET: observe
104
+ /big:
105
+ GET:
106
+ endpoint: enumerate
107
+ query:
108
+ criteria: volume>200
60
109
  """
61
110
  When the following request is received:
62
111
  """
63
112
  GET /pots/big/ HTTP/1.1
113
+ host: nex.toa.io
64
114
  accept: application/yaml
65
115
  """
66
116
  Then the following reply is sent:
@@ -71,8 +121,10 @@ Feature: Dynamic tree updates
71
121
  Scenario: Updating method mapping
72
122
  Given the `pots` is running with the following manifest:
73
123
  """yaml
124
+ version: a
74
125
  exposition:
75
126
  /big:
127
+ io:output: true
76
128
  GET:
77
129
  endpoint: enumerate
78
130
  query:
@@ -81,8 +133,10 @@ Feature: Dynamic tree updates
81
133
  Then the `pots` is stopped
82
134
  Then the `pots` is running with the following manifest:
83
135
  """yaml
136
+ version: b
84
137
  exposition:
85
138
  /big:
139
+ io:output: true
86
140
  GET:
87
141
  endpoint: enumerate
88
142
  query:
@@ -91,6 +145,7 @@ Feature: Dynamic tree updates
91
145
  When the following request is received:
92
146
  """
93
147
  GET /pots/big/?criteria=temperature>50 HTTP/1.1
148
+ host: nex.toa.io
94
149
  accept: application/yaml
95
150
  """
96
151
  Then the following reply is sent: