@toa.io/extensions.exposition 1.0.0-alpha.291 → 1.0.0-alpha.293

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 (526) hide show
  1. package/components/identity.basic/package.json +8 -0
  2. package/components/identity.federation/package.json +8 -0
  3. package/components/identity.passkeys/package.json +8 -0
  4. package/components/identity.tokens/package.json +10 -0
  5. package/package.json +25 -13
  6. package/transpiled/Discovery/Explorer.js +1 -1
  7. package/transpiled/Discovery/Explorer.js.map +1 -1
  8. package/transpiled/Discovery/Site.js +1 -1
  9. package/transpiled/Discovery/Site.js.map +1 -1
  10. package/transpiled/Discovery/trunk.js +1 -1
  11. package/transpiled/Discovery/trunk.js.map +1 -1
  12. package/transpiled/Endpoint.js +3 -0
  13. package/transpiled/Endpoint.js.map +1 -1
  14. package/transpiled/Factory.js +1 -1
  15. package/transpiled/Factory.js.map +1 -1
  16. package/transpiled/Gateway.js +1 -1
  17. package/transpiled/Gateway.js.map +1 -1
  18. package/transpiled/HTTP/Server.d.ts +1 -1
  19. package/transpiled/HTTP/Server.js +1 -1
  20. package/transpiled/HTTP/Server.js.map +1 -1
  21. package/transpiled/Introspection.d.ts +6 -0
  22. package/transpiled/Introspection.js +1 -0
  23. package/transpiled/Introspection.js.map +1 -1
  24. package/transpiled/MCP/Server.d.ts +1 -1
  25. package/transpiled/MCP/Server.js +1 -1
  26. package/transpiled/MCP/Server.js.map +1 -1
  27. package/transpiled/MCP/discover.d.ts +1 -1
  28. package/transpiled/MCP/schema.js +2 -2
  29. package/transpiled/Query.d.ts +2 -12
  30. package/transpiled/Query.js +3 -13
  31. package/transpiled/Query.js.map +1 -1
  32. package/transpiled/RPC/Dispatcher.d.ts +1 -1
  33. package/transpiled/RPC/Dispatcher.js +2 -2
  34. package/transpiled/RPC/Dispatcher.js.map +1 -1
  35. package/transpiled/RTD/Endpoint.d.ts +2 -3
  36. package/transpiled/RTD/Tree.js +1 -1
  37. package/transpiled/RTD/Tree.js.map +1 -1
  38. package/transpiled/RTD/factory.js +1 -1
  39. package/transpiled/RTD/factory.js.map +1 -1
  40. package/transpiled/RTD/syntax/index.d.ts +1 -2
  41. package/transpiled/RTD/syntax/index.js +1 -2
  42. package/transpiled/RTD/syntax/index.js.map +1 -1
  43. package/transpiled/Tenant.js +1 -1
  44. package/transpiled/Tenant.js.map +1 -1
  45. package/transpiled/directives/auth/Authorization.js +1 -1
  46. package/transpiled/directives/auth/Authorization.js.map +1 -1
  47. package/transpiled/directives/io/IO.js +1 -1
  48. package/transpiled/directives/io/IO.js.map +1 -1
  49. package/transpiled/directives/oauth/documents.d.ts +1 -1
  50. package/transpiled/index.d.ts +0 -2
  51. package/transpiled/index.js +0 -2
  52. package/transpiled/index.js.map +1 -1
  53. package/transpiled/service.js +1 -1
  54. package/transpiled/service.js.map +1 -1
  55. package/ui/dist/_app/immutable/assets/0.Cu0AnR_8.css +2 -0
  56. package/ui/dist/_app/immutable/assets/2.BghF56l_.css +1 -0
  57. package/ui/dist/_app/immutable/assets/ui.C8aD6zzF.css +1 -0
  58. package/ui/dist/_app/immutable/chunks/B8GvXrmq.js +1 -0
  59. package/ui/dist/_app/immutable/chunks/BVDJTrf4.js +3 -0
  60. package/ui/dist/_app/immutable/chunks/D6q28_Ok.js +86 -0
  61. package/ui/dist/_app/immutable/chunks/{D9tE1yyO.js → DVlaUfVU.js} +1 -1
  62. package/ui/dist/_app/immutable/chunks/DpB73ZB6.js +6 -0
  63. package/ui/dist/_app/immutable/entry/app.CTava8yn.js +2 -0
  64. package/ui/dist/_app/immutable/entry/start.yWN0gSLA.js +1 -0
  65. package/ui/dist/_app/immutable/nodes/0.HKRDBYrC.js +1 -0
  66. package/ui/dist/_app/immutable/nodes/1.CLa0ydOi.js +1 -0
  67. package/ui/dist/_app/immutable/nodes/2.C9Kaym8C.js +8 -0
  68. package/ui/dist/_app/immutable/nodes/3.C1X4_rXZ.js +1 -0
  69. package/ui/dist/_app/immutable/nodes/4.DdzDIi9E.js +1 -0
  70. package/ui/dist/_app/immutable/nodes/5.DpbmCMdw.js +1 -0
  71. package/ui/dist/_app/version.json +1 -1
  72. package/ui/dist/index.html +12 -12
  73. package/CHANGELOG.md +0 -35
  74. package/components/identity.bans/tsconfig.tsbuildinfo +0 -1
  75. package/components/identity.basic/source/lib/credentials.test.ts +0 -18
  76. package/components/identity.basic/tsconfig.tsbuildinfo +0 -1
  77. package/components/identity.clients/source/lib/canonical.test.ts +0 -43
  78. package/components/identity.clients/source/lib/cimd.test.ts +0 -122
  79. package/components/identity.clients/source/lib/redirect.test.ts +0 -47
  80. package/components/identity.clients/tsconfig.tsbuildinfo +0 -1
  81. package/components/identity.credentials/source/list.test.ts +0 -70
  82. package/components/identity.credentials/tsconfig.tsbuildinfo +0 -1
  83. package/components/identity.federation/source/lib/discovery.test.ts +0 -60
  84. package/components/identity.federation/source/list.test.ts +0 -41
  85. package/components/identity.federation/tsconfig.tsbuildinfo +0 -1
  86. package/components/identity.grants/tsconfig.tsbuildinfo +0 -1
  87. package/components/identity.keys/tsconfig.tsbuildinfo +0 -1
  88. package/components/identity.otp/tsconfig.tsbuildinfo +0 -1
  89. package/components/identity.passkeys/source/errors.test.ts +0 -34
  90. package/components/identity.passkeys/source/webauthn.test.ts +0 -26
  91. package/components/identity.passkeys/tsconfig.tsbuildinfo +0 -1
  92. package/components/identity.roles/tsconfig.tsbuildinfo +0 -1
  93. package/components/identity.tokens/source/authenticate.test.ts +0 -112
  94. package/components/identity.tokens/source/decrypt.test.ts +0 -216
  95. package/components/identity.tokens/source/encrypt.test.ts +0 -150
  96. package/components/identity.tokens/source/issue.test.ts +0 -73
  97. package/components/identity.tokens/source/lib/form.test.ts +0 -25
  98. package/components/identity.tokens/source/lib/paseto.test.ts +0 -62
  99. package/components/identity.tokens/tsconfig.tsbuildinfo +0 -1
  100. package/context.toa.yaml +0 -31
  101. package/cucumber.mjs +0 -7
  102. package/documentation/.assets/ia3-dark.jpg +0 -0
  103. package/documentation/.assets/ia3-light.jpg +0 -0
  104. package/documentation/.assets/overview-dark.jpg +0 -0
  105. package/documentation/.assets/overview-light.jpg +0 -0
  106. package/documentation/.assets/role-scopes-dark.jpg +0 -0
  107. package/documentation/.assets/role-scopes-light.jpg +0 -0
  108. package/documentation/.assets/rtd-dark.jpg +0 -0
  109. package/documentation/.assets/rtd-light.jpg +0 -0
  110. package/documentation/access.md +0 -350
  111. package/documentation/authorities.md +0 -51
  112. package/documentation/cache.md +0 -72
  113. package/documentation/components.md +0 -472
  114. package/documentation/consent.md +0 -101
  115. package/documentation/credentials.md +0 -88
  116. package/documentation/dev.md +0 -30
  117. package/documentation/discovery.md +0 -81
  118. package/documentation/flow.md +0 -44
  119. package/documentation/help.md +0 -122
  120. package/documentation/identity.md +0 -304
  121. package/documentation/introspection.md +0 -123
  122. package/documentation/io.md +0 -167
  123. package/documentation/ip.md +0 -24
  124. package/documentation/map.md +0 -123
  125. package/documentation/mcp.md +0 -183
  126. package/documentation/notes/desync.jpg +0 -0
  127. package/documentation/notes/peers.md +0 -59
  128. package/documentation/notes/sse.md +0 -71
  129. package/documentation/notes/throttling.md +0 -122
  130. package/documentation/oauth.md +0 -180
  131. package/documentation/octets.md +0 -334
  132. package/documentation/passkeys.md +0 -11
  133. package/documentation/protocol.md +0 -120
  134. package/documentation/query.md +0 -324
  135. package/documentation/require.md +0 -15
  136. package/documentation/rpc.md +0 -154
  137. package/documentation/tracing.md +0 -70
  138. package/documentation/tree.md +0 -199
  139. package/features/access.feature +0 -596
  140. package/features/annotation.feature +0 -32
  141. package/features/auth.assert.feature +0 -55
  142. package/features/auth.bearer.feature +0 -120
  143. package/features/auth.claims.feature +0 -171
  144. package/features/auth.incept.feature +0 -166
  145. package/features/auth.input.feature +0 -59
  146. package/features/authorities.basic.feature +0 -141
  147. package/features/authorities.feature +0 -71
  148. package/features/authorities.federation.feature +0 -100
  149. package/features/authorities.tokens.feature +0 -117
  150. package/features/body.feature +0 -76
  151. package/features/cache.feature +0 -368
  152. package/features/configuration.feature +0 -206
  153. package/features/cors.feature +0 -127
  154. package/features/credentials.feature +0 -106
  155. package/features/debug.feature +0 -34
  156. package/features/dev.feature +0 -90
  157. package/features/directives.feature +0 -61
  158. package/features/discovery.feature +0 -213
  159. package/features/discovery.ui.feature +0 -213
  160. package/features/dynamic.feature +0 -192
  161. package/features/errors.feature +0 -258
  162. package/features/etag.feature +0 -239
  163. package/features/flow.feature +0 -148
  164. package/features/help.feature +0 -512
  165. package/features/identity.bans.feature +0 -200
  166. package/features/identity.basic.feature +0 -666
  167. package/features/identity.feature +0 -240
  168. package/features/identity.federation.feature +0 -396
  169. package/features/identity.otp.feature +0 -142
  170. package/features/identity.roles.feature +0 -568
  171. package/features/identity.tokens.custom.feature +0 -430
  172. package/features/identity.tokens.feature +0 -131
  173. package/features/interruptions.feature +0 -20
  174. package/features/introspection.feature +0 -565
  175. package/features/introspection.map.feature +0 -108
  176. package/features/io.feature +0 -204
  177. package/features/io.throttle.feature +0 -166
  178. package/features/map.feature +0 -360
  179. package/features/mcp.feature +0 -753
  180. package/features/methods.feature +0 -48
  181. package/features/oauth.clients.feature +0 -195
  182. package/features/oauth.discovery.feature +0 -164
  183. package/features/oauth.grants.feature +0 -301
  184. package/features/octets.cloudinary.feature +0 -233
  185. package/features/octets.download.feature +0 -194
  186. package/features/octets.entries.feature +0 -83
  187. package/features/octets.feature +0 -306
  188. package/features/octets.head.feature +0 -40
  189. package/features/octets.location.feature +0 -83
  190. package/features/octets.meta.feature +0 -117
  191. package/features/octets.workflows.feature +0 -565
  192. package/features/passkeys.feature +0 -66
  193. package/features/probes.feature +0 -18
  194. package/features/query.feature +0 -389
  195. package/features/realtime.feature +0 -34
  196. package/features/require.feature +0 -66
  197. package/features/response.feature +0 -103
  198. package/features/routes.feature +0 -224
  199. package/features/rpc.feature +0 -429
  200. package/features/server.feature +0 -21
  201. package/features/site/_app/immutable/asset.js +0 -1
  202. package/features/site/favicon.ico +0 -0
  203. package/features/site/index.html +0 -10
  204. package/features/steps/.env.example +0 -5
  205. package/features/steps/Captures.ts +0 -20
  206. package/features/steps/Cloudinary.ts +0 -12
  207. package/features/steps/Common.ts +0 -38
  208. package/features/steps/Components.ts +0 -115
  209. package/features/steps/Database.ts +0 -106
  210. package/features/steps/Gateway.ts +0 -240
  211. package/features/steps/HTTP.ts +0 -96
  212. package/features/steps/IDP.ts +0 -361
  213. package/features/steps/Identity.ts +0 -54
  214. package/features/steps/OTP.ts +0 -42
  215. package/features/steps/Parameters.ts +0 -162
  216. package/features/steps/Probe.ts +0 -38
  217. package/features/steps/Realtime.ts +0 -175
  218. package/features/steps/Workspace.ts +0 -48
  219. package/features/steps/components/audit/manifest.toa.yaml +0 -20
  220. package/features/steps/components/audit/operations/record.js +0 -5
  221. package/features/steps/components/echo/manifest.toa.yaml +0 -59
  222. package/features/steps/components/echo/operations/affect.js +0 -3
  223. package/features/steps/components/echo/operations/compute.js +0 -3
  224. package/features/steps/components/echo/operations/echo.js +0 -3
  225. package/features/steps/components/echo/operations/error.js +0 -7
  226. package/features/steps/components/echo/operations/identity.js +0 -3
  227. package/features/steps/components/echo/operations/parameters.js +0 -3
  228. package/features/steps/components/echo/operations/ping.js +0 -3
  229. package/features/steps/components/echo/operations/unwrap.js +0 -3
  230. package/features/steps/components/echo.beacon/manifest.toa.yaml +0 -2
  231. package/features/steps/components/echo.beacon/operations/hello.js +0 -3
  232. package/features/steps/components/greeter/manifest.toa.yaml +0 -5
  233. package/features/steps/components/greeter/operations/greet.js +0 -3
  234. package/features/steps/components/notify/manifest.toa.yaml +0 -20
  235. package/features/steps/components/notify/operations/send.js +0 -5
  236. package/features/steps/components/octets.tester/manifest.toa.yaml +0 -73
  237. package/features/steps/components/octets.tester/operations/authority.js +0 -3
  238. package/features/steps/components/octets.tester/operations/bar.js +0 -9
  239. package/features/steps/components/octets.tester/operations/baz.js +0 -9
  240. package/features/steps/components/octets.tester/operations/concat.js +0 -5
  241. package/features/steps/components/octets.tester/operations/echo.js +0 -5
  242. package/features/steps/components/octets.tester/operations/err.js +0 -14
  243. package/features/steps/components/octets.tester/operations/foo.js +0 -5
  244. package/features/steps/components/octets.tester/operations/id.js +0 -5
  245. package/features/steps/components/octets.tester/operations/identity.js +0 -5
  246. package/features/steps/components/octets.tester/operations/lenna.png +0 -0
  247. package/features/steps/components/octets.tester/operations/redirect.js +0 -17
  248. package/features/steps/components/octets.tester/operations/yex.js +0 -14
  249. package/features/steps/components/octets.tester/operations/yield.js +0 -11
  250. package/features/steps/components/orders/manifest.toa.yaml +0 -30
  251. package/features/steps/components/orders/operations/create.js +0 -7
  252. package/features/steps/components/pots/manifest.toa.yaml +0 -91
  253. package/features/steps/components/pots/migrations/0002-indexes.yaml +0 -4
  254. package/features/steps/components/pricing/manifest.toa.yaml +0 -13
  255. package/features/steps/components/pricing/operations/quote.js +0 -3
  256. package/features/steps/components/sequences/manifest.toa.yaml +0 -11
  257. package/features/steps/components/sequences/operations/numbers.js +0 -5
  258. package/features/steps/components/sequences/operations/tokens.js +0 -14
  259. package/features/steps/components/users/manifest.toa.yaml +0 -30
  260. package/features/steps/components/users/operations/create.js +0 -11
  261. package/features/steps/components/users.properties/manifest.toa.yaml +0 -22
  262. package/features/steps/map.ts +0 -30
  263. package/features/steps/tsconfig.json +0 -9
  264. package/features/streams.feature +0 -35
  265. package/features/timestamps.feature +0 -41
  266. package/features/timing.feature +0 -49
  267. package/features/tracing.feature +0 -123
  268. package/schemas/annotation.cos.yaml +0 -125
  269. package/schemas/call.cos.yaml +0 -18
  270. package/schemas/directive.cos.yaml +0 -7
  271. package/schemas/method.cos.yaml +0 -23
  272. package/schemas/node.cos.yaml +0 -22
  273. package/schemas/query.cos.yaml +0 -31
  274. package/schemas/querystring.cos.yaml +0 -19
  275. package/schemas/range.cos.yaml +0 -10
  276. package/schemas/route.cos.yaml +0 -6
  277. package/source/Annotation.ts +0 -89
  278. package/source/Branch.test.ts +0 -40
  279. package/source/Branch.ts +0 -44
  280. package/source/Composition.ts +0 -51
  281. package/source/Context.ts +0 -11
  282. package/source/Directive.test.ts +0 -199
  283. package/source/Directive.ts +0 -248
  284. package/source/Discovery/Explorer.ts +0 -34
  285. package/source/Discovery/Site.test.ts +0 -147
  286. package/source/Discovery/Site.ts +0 -202
  287. package/source/Discovery/index.ts +0 -3
  288. package/source/Discovery/tree.test.ts +0 -175
  289. package/source/Discovery/tree.ts +0 -77
  290. package/source/Discovery/trunk.ts +0 -33
  291. package/source/Endpoint.test.ts +0 -67
  292. package/source/Endpoint.ts +0 -157
  293. package/source/Factory.ts +0 -42
  294. package/source/Gateway.ts +0 -390
  295. package/source/HTTP/Context.ts +0 -143
  296. package/source/HTTP/Probe.ts +0 -99
  297. package/source/HTTP/Server.ts +0 -430
  298. package/source/HTTP/Timing.ts +0 -14
  299. package/source/HTTP/address.test.ts +0 -28
  300. package/source/HTTP/address.ts +0 -16
  301. package/source/HTTP/exceptions.ts +0 -99
  302. package/source/HTTP/formats/form.ts +0 -21
  303. package/source/HTTP/formats/index.ts +0 -36
  304. package/source/HTTP/formats/json.ts +0 -14
  305. package/source/HTTP/formats/msgpack.ts +0 -14
  306. package/source/HTTP/formats/text.ts +0 -10
  307. package/source/HTTP/formats/yaml.test.ts +0 -22
  308. package/source/HTTP/formats/yaml.ts +0 -40
  309. package/source/HTTP/index.ts +0 -6
  310. package/source/HTTP/messages.test.ts +0 -196
  311. package/source/HTTP/messages.ts +0 -186
  312. package/source/HTTP/types.ts +0 -39
  313. package/source/Interception.ts +0 -37
  314. package/source/Introspection.ts +0 -179
  315. package/source/MCP/Server.ts +0 -335
  316. package/source/MCP/discover.ts +0 -51
  317. package/source/MCP/errors.ts +0 -80
  318. package/source/MCP/index.ts +0 -1
  319. package/source/MCP/schema.test.ts +0 -91
  320. package/source/MCP/schema.ts +0 -94
  321. package/source/MCP/tools.ts +0 -144
  322. package/source/MCP/types.ts +0 -84
  323. package/source/Mapping.ts +0 -101
  324. package/source/Query.test.ts +0 -54
  325. package/source/Query.ts +0 -277
  326. package/source/RPC/Context.ts +0 -75
  327. package/source/RPC/Dispatcher.ts +0 -150
  328. package/source/RPC/errors.test.ts +0 -77
  329. package/source/RPC/errors.ts +0 -82
  330. package/source/RPC/index.ts +0 -1
  331. package/source/RPC/names.test.ts +0 -141
  332. package/source/RPC/names.ts +0 -176
  333. package/source/RPC/types.ts +0 -34
  334. package/source/RTD/Context.ts +0 -16
  335. package/source/RTD/Directives.ts +0 -126
  336. package/source/RTD/Endpoint.ts +0 -27
  337. package/source/RTD/Match.ts +0 -11
  338. package/source/RTD/Method.ts +0 -39
  339. package/source/RTD/Node.ts +0 -169
  340. package/source/RTD/Route.ts +0 -93
  341. package/source/RTD/Tree.ts +0 -137
  342. package/source/RTD/expiration.test.ts +0 -81
  343. package/source/RTD/factory.ts +0 -105
  344. package/source/RTD/index.ts +0 -8
  345. package/source/RTD/segment.test.ts +0 -35
  346. package/source/RTD/segment.ts +0 -51
  347. package/source/RTD/syntax/index.ts +0 -2
  348. package/source/RTD/syntax/parse.test.ts +0 -196
  349. package/source/RTD/syntax/parse.ts +0 -171
  350. package/source/RTD/syntax/types.ts +0 -69
  351. package/source/RTD/walk.test.ts +0 -147
  352. package/source/Remotes.test.ts +0 -79
  353. package/source/Remotes.ts +0 -39
  354. package/source/Tenant.ts +0 -73
  355. package/source/const.ts +0 -45
  356. package/source/deployment.ts +0 -96
  357. package/source/directives/auth/Anonymous.test.ts +0 -70
  358. package/source/directives/auth/Anonymous.ts +0 -36
  359. package/source/directives/auth/Anyone.ts +0 -23
  360. package/source/directives/auth/Assert.ts +0 -43
  361. package/source/directives/auth/Authorization.test.ts +0 -24
  362. package/source/directives/auth/Authorization.ts +0 -388
  363. package/source/directives/auth/Delegate.test.ts +0 -36
  364. package/source/directives/auth/Delegate.ts +0 -54
  365. package/source/directives/auth/Echo.ts +0 -24
  366. package/source/directives/auth/Federation.ts +0 -104
  367. package/source/directives/auth/Id.ts +0 -37
  368. package/source/directives/auth/Incept.ts +0 -117
  369. package/source/directives/auth/Input.ts +0 -92
  370. package/source/directives/auth/Role.test.ts +0 -147
  371. package/source/directives/auth/Role.ts +0 -99
  372. package/source/directives/auth/Rule.ts +0 -59
  373. package/source/directives/auth/Scheme.ts +0 -31
  374. package/source/directives/auth/create.ts +0 -11
  375. package/source/directives/auth/index.ts +0 -3
  376. package/source/directives/auth/schemes.test.ts +0 -18
  377. package/source/directives/auth/schemes.ts +0 -39
  378. package/source/directives/auth/split.ts +0 -14
  379. package/source/directives/auth/types.ts +0 -75
  380. package/source/directives/cache/Cache.ts +0 -92
  381. package/source/directives/cache/Control.ts +0 -81
  382. package/source/directives/cache/Exact.ts +0 -7
  383. package/source/directives/cache/etag.ts +0 -38
  384. package/source/directives/cache/index.ts +0 -3
  385. package/source/directives/cache/types.ts +0 -9
  386. package/source/directives/cors/CORS.test.ts +0 -75
  387. package/source/directives/cors/CORS.ts +0 -88
  388. package/source/directives/cors/index.ts +0 -3
  389. package/source/directives/dev/Development.ts +0 -41
  390. package/source/directives/dev/Faulty.ts +0 -31
  391. package/source/directives/dev/Sleep.ts +0 -53
  392. package/source/directives/dev/Stub.ts +0 -14
  393. package/source/directives/dev/Throw.ts +0 -14
  394. package/source/directives/dev/index.ts +0 -3
  395. package/source/directives/dev/types.ts +0 -5
  396. package/source/directives/flow/Compose.ts +0 -98
  397. package/source/directives/flow/Fetch.ts +0 -86
  398. package/source/directives/flow/Flow.ts +0 -43
  399. package/source/directives/flow/index.ts +0 -3
  400. package/source/directives/flow/types.ts +0 -7
  401. package/source/directives/help/Family.ts +0 -122
  402. package/source/directives/help/Help.test.ts +0 -227
  403. package/source/directives/help/Help.ts +0 -47
  404. package/source/directives/help/Parameters.ts +0 -47
  405. package/source/directives/help/described.ts +0 -57
  406. package/source/directives/help/index.ts +0 -45
  407. package/source/directives/index.ts +0 -33
  408. package/source/directives/io/Directive.ts +0 -17
  409. package/source/directives/io/IO.ts +0 -118
  410. package/source/directives/io/Input.ts +0 -55
  411. package/source/directives/io/Message.ts +0 -1
  412. package/source/directives/io/Output.ts +0 -81
  413. package/source/directives/io/Status.test.ts +0 -88
  414. package/source/directives/io/Status.ts +0 -47
  415. package/source/directives/io/Throttle.ts +0 -30
  416. package/source/directives/io/index.ts +0 -3
  417. package/source/directives/io/lib/throttle/Configuration.test.ts +0 -72
  418. package/source/directives/io/lib/throttle/Configuration.ts +0 -68
  419. package/source/directives/io/lib/throttle/Keys.ts +0 -53
  420. package/source/directives/io/lib/throttle/Quotas.test.ts +0 -411
  421. package/source/directives/io/lib/throttle/Quotas.ts +0 -190
  422. package/source/directives/io/lib/throttle/Sync.test.ts +0 -163
  423. package/source/directives/io/lib/throttle/Sync.ts +0 -93
  424. package/source/directives/io/lib/throttle/Warning.test.ts +0 -32
  425. package/source/directives/io/lib/throttle/Warning.ts +0 -29
  426. package/source/directives/io/lib/throttle/components/Component.ts +0 -7
  427. package/source/directives/io/lib/throttle/components/IP.ts +0 -30
  428. package/source/directives/io/lib/throttle/components/Identity.ts +0 -19
  429. package/source/directives/io/lib/throttle/components/Path.ts +0 -8
  430. package/source/directives/io/lib/throttle/components/Route.ts +0 -19
  431. package/source/directives/io/lib/throttle/components/Segment.ts +0 -19
  432. package/source/directives/io/lib/throttle/components/index.ts +0 -19
  433. package/source/directives/io/lib/throttle/conditions/Condition.ts +0 -5
  434. package/source/directives/io/lib/throttle/conditions/Status.ts +0 -17
  435. package/source/directives/io/lib/throttle/conditions/index.ts +0 -11
  436. package/source/directives/io/lib/throttle/index.ts +0 -4
  437. package/source/directives/io/schemas.test.ts +0 -40
  438. package/source/directives/io/schemas.ts +0 -16
  439. package/source/directives/map/Authority.ts +0 -15
  440. package/source/directives/map/Buffer.ts +0 -15
  441. package/source/directives/map/Claims.ts +0 -63
  442. package/source/directives/map/Directive.ts +0 -4
  443. package/source/directives/map/Headers.ts +0 -60
  444. package/source/directives/map/Language.ts +0 -45
  445. package/source/directives/map/Languages.ts +0 -17
  446. package/source/directives/map/Map.ts +0 -85
  447. package/source/directives/map/Mapping.ts +0 -45
  448. package/source/directives/map/Properties.ts +0 -15
  449. package/source/directives/map/Segments.ts +0 -52
  450. package/source/directives/map/index.ts +0 -3
  451. package/source/directives/mcp/MCP.ts +0 -33
  452. package/source/directives/mcp/Tool.test.ts +0 -56
  453. package/source/directives/mcp/Tool.ts +0 -32
  454. package/source/directives/mcp/index.ts +0 -6
  455. package/source/directives/oauth/Discovery.ts +0 -66
  456. package/source/directives/oauth/documents.ts +0 -110
  457. package/source/directives/oauth/index.ts +0 -3
  458. package/source/directives/octets/Context.ts +0 -23
  459. package/source/directives/octets/Delete.ts +0 -96
  460. package/source/directives/octets/Directive.ts +0 -21
  461. package/source/directives/octets/Get.ts +0 -88
  462. package/source/directives/octets/Octets.ts +0 -82
  463. package/source/directives/octets/Put.ts +0 -186
  464. package/source/directives/octets/Workflow.ts +0 -60
  465. package/source/directives/octets/bytes.test.ts +0 -33
  466. package/source/directives/octets/bytes.ts +0 -18
  467. package/source/directives/octets/index.ts +0 -3
  468. package/source/directives/octets/schemas.test.ts +0 -20
  469. package/source/directives/octets/schemas.ts +0 -15
  470. package/source/directives/octets/types.ts +0 -9
  471. package/source/directives/octets/workflows/Execution.ts +0 -130
  472. package/source/directives/octets/workflows/Workflow.ts +0 -51
  473. package/source/directives/octets/workflows/index.ts +0 -1
  474. package/source/directives/require/Directive.ts +0 -5
  475. package/source/directives/require/Headers.ts +0 -19
  476. package/source/directives/require/Require.ts +0 -27
  477. package/source/directives/require/index.ts +0 -3
  478. package/source/discovery.ts +0 -1
  479. package/source/exceptions.ts +0 -47
  480. package/source/index.ts +0 -12
  481. package/source/io.ts +0 -4
  482. package/source/manifest.test.ts +0 -56
  483. package/source/manifest.ts +0 -56
  484. package/source/octets.d.ts +0 -17
  485. package/source/root.ts +0 -59
  486. package/source/schemas.test.ts +0 -31
  487. package/source/schemas.ts +0 -15
  488. package/source/service.ts +0 -94
  489. package/source/shortcuts.ts +0 -14
  490. package/source/userland.ts +0 -47
  491. package/transpiled/Annotation.d.ts +0 -70
  492. package/transpiled/Annotation.js +0 -2
  493. package/transpiled/Annotation.js.map +0 -1
  494. package/transpiled/RTD/syntax/parse.d.ts +0 -4
  495. package/transpiled/RTD/syntax/parse.js +0 -112
  496. package/transpiled/RTD/syntax/parse.js.map +0 -1
  497. package/transpiled/RTD/syntax/types.d.ts +0 -52
  498. package/transpiled/RTD/syntax/types.js +0 -11
  499. package/transpiled/RTD/syntax/types.js.map +0 -1
  500. package/transpiled/const.d.ts +0 -36
  501. package/transpiled/const.js +0 -37
  502. package/transpiled/const.js.map +0 -1
  503. package/transpiled/deployment.d.ts +0 -6
  504. package/transpiled/deployment.js +0 -76
  505. package/transpiled/deployment.js.map +0 -1
  506. package/transpiled/manifest.d.ts +0 -3
  507. package/transpiled/manifest.js +0 -39
  508. package/transpiled/manifest.js.map +0 -1
  509. package/transpiled/schemas.d.ts +0 -9
  510. package/transpiled/schemas.js +0 -9
  511. package/transpiled/schemas.js.map +0 -1
  512. package/transpiled/shortcuts.d.ts +0 -3
  513. package/transpiled/shortcuts.js +0 -13
  514. package/transpiled/shortcuts.js.map +0 -1
  515. package/tsconfig.json +0 -13
  516. package/tsconfig.tsbuildinfo +0 -1
  517. package/ui/dist/_app/immutable/assets/0.Bl7vLmIK.css +0 -2
  518. package/ui/dist/_app/immutable/assets/2.BC0-Jhqu.css +0 -1
  519. package/ui/dist/_app/immutable/chunks/B_pK3U1C.js +0 -6
  520. package/ui/dist/_app/immutable/chunks/CiKbPLyY.js +0 -1
  521. package/ui/dist/_app/immutable/chunks/DjIYL2zC.js +0 -3
  522. package/ui/dist/_app/immutable/entry/app.DMqmL4NY.js +0 -2
  523. package/ui/dist/_app/immutable/entry/start.CRe7HWBI.js +0 -1
  524. package/ui/dist/_app/immutable/nodes/0.D9m-6cbM.js +0 -1
  525. package/ui/dist/_app/immutable/nodes/1.Cgi_RcSO.js +0 -1
  526. package/ui/dist/_app/immutable/nodes/2.D_Cbxgz4.js +0 -14
@@ -1,430 +0,0 @@
1
- @security
2
- Feature: Custom tokens
3
-
4
- Background:
5
- Given the `identity.basic` database contains:
6
- | _id | authority | username | password |
7
- | efe3a65ebbee47ed95a73edd911ea328 | nex | developer | $2b$10$ZRSKkgZoGnrcTNA5w5eCcu3pxDzdTduhteVYXcp56AaNcilNkwJ.O |
8
- And the `identity.roles` database contains:
9
- | _id | identity | role |
10
- | 9c4702490ff84f2a9e1b1da2ab64bdd4 | efe3a65ebbee47ed95a73edd911ea328 | app:notes |
11
- And the `identity.keys` database is empty
12
- And the annotation:
13
- """yaml
14
- /:
15
- /notes:
16
- auth:role: app:notes
17
- GET:
18
- io:output: true
19
- dev:stub:
20
- access: granted!
21
- POST:
22
- io:output: true
23
- dev:stub:
24
- access: granted!
25
- /public:
26
- GET:
27
- auth:role: app:notes:public
28
- io:output: true
29
- dev:stub:
30
- access: granted!
31
- """
32
-
33
- Scenario: Issuing a token
34
- When the following request is received:
35
- """
36
- POST /identity/tokens/efe3a65ebbee47ed95a73edd911ea328/ HTTP/1.1
37
- host: nex.toa.io
38
- authorization: Basic ZGV2ZWxvcGVyOnNlY3JldA==
39
- content-type: application/yaml
40
- accept: application/yaml
41
-
42
- label: Dev token
43
- lifetime: 600
44
- """
45
- Then the following reply is sent:
46
- """
47
- 201 Created
48
-
49
- kid: ${{ kid }}
50
- exp: ${{ exp }}
51
- token: ${{ token }}
52
- """
53
- When the following request is received:
54
- """
55
- GET /identity/ HTTP/1.1
56
- host: nex.toa.io
57
- authorization: Token ${{ token }}
58
- accept: application/yaml
59
- """
60
- Then the following reply is sent:
61
- """
62
- 200 OK
63
-
64
- id: efe3a65ebbee47ed95a73edd911ea328
65
- """
66
-
67
- # debug LRU cache
68
- When the following request is received:
69
- """
70
- GET /identity/ HTTP/1.1
71
- host: nex.toa.io
72
- authorization: Token ${{ token }}
73
- """
74
- Then the following reply is sent:
75
- """
76
- 200 OK
77
- """
78
-
79
- Scenario: Issuing a token for another identity
80
- Given the `identity.basic` database contains:
81
- | _id | authority | username | password |
82
- | efe3a65ebbee47ed95a73edd911ea328 | nex | developer | $2b$10$ZRSKkgZoGnrcTNA5w5eCcu3pxDzdTduhteVYXcp56AaNcilNkwJ.O |
83
- | e8e4f9c2a68d419b861403d71fabc915 | nex | user | $2b$10$Frszmrmsz9iwSXzBbRRMKeDVKsNxozkrLNSsN.SnVC.KPxLtQr/bK |
84
- And the `identity.roles` database contains:
85
- | _id | identity | role |
86
- | 9c4702490ff84f2a9e1b1da2ab64bdd4 | efe3a65ebbee47ed95a73edd911ea328 | system:identity:tokens |
87
- When the following request is received:
88
- """
89
- POST /identity/tokens/e8e4f9c2a68d419b861403d71fabc915/ HTTP/1.1
90
- host: nex.toa.io
91
- authorization: Basic ZGV2ZWxvcGVyOnNlY3JldA==
92
- content-type: application/yaml
93
- accept: application/yaml
94
-
95
- label: On behalf
96
- lifetime: 600
97
- """
98
- Then the following reply is sent:
99
- """
100
- 201 Created
101
-
102
- token: ${{ token }}
103
- """
104
- When the following request is received:
105
- """
106
- GET /identity/ HTTP/1.1
107
- host: nex.toa.io
108
- authorization: Token ${{ token }}
109
- accept: application/yaml
110
- """
111
- Then the following reply is sent:
112
- """
113
- 200 OK
114
-
115
- id: e8e4f9c2a68d419b861403d71fabc915
116
- """
117
-
118
- Scenario: Token with restricted scopes
119
- When the following request is received:
120
- """
121
- POST /identity/tokens/efe3a65ebbee47ed95a73edd911ea328/ HTTP/1.1
122
- host: nex.toa.io
123
- authorization: Basic ZGV2ZWxvcGVyOnNlY3JldA==
124
- accept: application/yaml
125
- content-type: application/yaml
126
-
127
- label: Production token
128
- lifetime: 0
129
- scopes: [app:notes:public]
130
- """
131
- Then the following reply is sent:
132
- """
133
- 201 Created
134
-
135
- token: ${{ token }}
136
- """
137
- When the following request is received:
138
- """
139
- GET /notes/ HTTP/1.1
140
- host: nex.toa.io
141
- authorization: Token ${{ token }}
142
- """
143
- Then the following reply is sent:
144
- """
145
- 403 Forbidden
146
- """
147
- When the following request is received:
148
- """
149
- GET /notes/public/ HTTP/1.1
150
- host: nex.toa.io
151
- authorization: Token ${{ token }}
152
- """
153
- Then the following reply is sent:
154
- """
155
- 200 OK
156
- """
157
-
158
- Scenario: Token with restricted permissions
159
- When the following request is received:
160
- """
161
- POST /identity/tokens/efe3a65ebbee47ed95a73edd911ea328/ HTTP/1.1
162
- host: nex.toa.io
163
- authorization: Basic ZGV2ZWxvcGVyOnNlY3JldA==
164
- accept: application/yaml
165
- content-type: application/yaml
166
-
167
- label: Restricted token
168
- lifetime: 0
169
- permissions:
170
- /notes/: [GET]
171
- """
172
- Then the following reply is sent:
173
- """
174
- 201 Created
175
-
176
- token: ${{ token }}
177
- """
178
- When the following request is received:
179
- """
180
- GET /notes/ HTTP/1.1
181
- host: nex.toa.io
182
- authorization: Token ${{ token }}
183
- """
184
- Then the following reply is sent:
185
- """
186
- 200 OK
187
- """
188
-
189
- # method is not permitted
190
- When the following request is received:
191
- """
192
- POST /notes/ HTTP/1.1
193
- host: nex.toa.io
194
- authorization: Token ${{ token }}
195
- """
196
- Then the following reply is sent:
197
- """
198
- 403 Forbidden
199
- """
200
-
201
- # resource is not permitted
202
- When the following request is received:
203
- """
204
- GET /notes/public/ HTTP/1.1
205
- host: nex.toa.io
206
- authorization: Token ${{ token }}
207
- """
208
- Then the following reply is sent:
209
- """
210
- 403 Forbidden
211
- """
212
-
213
- Scenario: Token revocation
214
- Given the `identity.tokens` configuration:
215
- """yaml
216
- cache:
217
- ttl: 1
218
- """
219
- When the following request is received:
220
- """
221
- POST /identity/tokens/efe3a65ebbee47ed95a73edd911ea328/ HTTP/1.1
222
- host: nex.toa.io
223
- authorization: Basic ZGV2ZWxvcGVyOnNlY3JldA==
224
- accept: application/yaml
225
- content-type: application/yaml
226
-
227
- label: One-time token
228
- lifetime: 60
229
- """
230
- Then the following reply is sent:
231
- """
232
- 201 Created
233
-
234
- token: ${{ token }}
235
- """
236
- When the following request is received:
237
- """
238
- GET /identity/ HTTP/1.1
239
- host: nex.toa.io
240
- authorization: Token ${{ token }}
241
- accept: application/yaml
242
- """
243
- Then the following reply is sent:
244
- """
245
- 200 OK
246
-
247
- id: efe3a65ebbee47ed95a73edd911ea328
248
- """
249
- When the following request is received:
250
- """
251
- GET /identity/keys/efe3a65ebbee47ed95a73edd911ea328/ HTTP/1.1
252
- host: nex.toa.io
253
- authorization: Token ${{ token }}
254
- accept: application/yaml
255
- """
256
- Then the following reply is sent:
257
- """
258
- 200 OK
259
-
260
- - id: ${{ kid }}
261
- CREATED: ${{ created }}
262
- label: One-time token
263
- expires: ${{ expires }}
264
- """
265
- When the following request is received:
266
- """
267
- DELETE /identity/keys/efe3a65ebbee47ed95a73edd911ea328/${{ kid }}/ HTTP/1.1
268
- host: nex.toa.io
269
- authorization: Basic ZGV2ZWxvcGVyOnNlY3JldA==
270
- """
271
- Then the following reply is sent:
272
- """
273
- 200 OK
274
- """
275
- And after 1 second
276
- When the following request is received:
277
- """
278
- GET /identity/ HTTP/1.1
279
- host: nex.toa.io
280
- authorization: Token ${{ token }}
281
- """
282
- Then the following reply is sent:
283
- """
284
- 401 Unauthorized
285
- """
286
-
287
- Scenario: Custom token is not refreshed
288
- Given the `identity.tokens` configuration:
289
- """yaml
290
- refresh: 1
291
- """
292
- When the following request is received:
293
- """
294
- POST /identity/tokens/efe3a65ebbee47ed95a73edd911ea328/ HTTP/1.1
295
- host: nex.toa.io
296
- authorization: Basic ZGV2ZWxvcGVyOnNlY3JldA==
297
- accept: application/yaml
298
- content-type: application/yaml
299
-
300
- label: Restricted token
301
- lifetime: 600
302
- permissions:
303
- /notes/: [GET]
304
- """
305
- Then the following reply is sent:
306
- """
307
- 201 Created
308
-
309
- token: ${{ token }}
310
- """
311
- And after 1 second
312
- When the following request is received:
313
- """
314
- GET /notes/ HTTP/1.1
315
- host: nex.toa.io
316
- authorization: Token ${{ token }}
317
- """
318
- Then the following reply is sent:
319
- """
320
- 200 OK
321
- """
322
- And the reply does not contain:
323
- """
324
- authorization: Token
325
- """
326
- When the following request is received:
327
- """
328
- GET /notes/public/ HTTP/1.1
329
- host: nex.toa.io
330
- authorization: Token ${{ token }}
331
- """
332
- Then the following reply is sent:
333
- """
334
- 403 Forbidden
335
- """
336
-
337
- Scenario: Permissions apply to the path the request is routed by
338
- When the following request is received:
339
- """
340
- POST /identity/tokens/efe3a65ebbee47ed95a73edd911ea328/ HTTP/1.1
341
- host: nex.toa.io
342
- authorization: Basic ZGV2ZWxvcGVyOnNlY3JldA==
343
- accept: application/yaml
344
- content-type: application/yaml
345
-
346
- label: Public notes token
347
- lifetime: 0
348
- permissions:
349
- /notes/public/: [GET]
350
- """
351
- Then the following reply is sent:
352
- """
353
- 201 Created
354
-
355
- token: ${{ token }}
356
- """
357
-
358
- # the query string is not part of the path
359
- When the following request is received:
360
- """
361
- GET /notes/public/?page=2 HTTP/1.1
362
- host: nex.toa.io
363
- authorization: Token ${{ token }}
364
- """
365
- Then the following reply is sent:
366
- """
367
- 200 OK
368
- """
369
-
370
- Scenario: Changing the password revokes custom tokens
371
- Given the `identity.basic` database contains:
372
- | _id | VERSION | authority | username | password |
373
- | efe3a65ebbee47ed95a73edd911ea328 | 1 | nex | developer | $2b$10$ZRSKkgZoGnrcTNA5w5eCcu3pxDzdTduhteVYXcp56AaNcilNkwJ.O |
374
- And the `identity.tokens` configuration:
375
- """yaml
376
- cache:
377
- ttl: 1
378
- """
379
- When the following request is received:
380
- """
381
- POST /identity/tokens/efe3a65ebbee47ed95a73edd911ea328/ HTTP/1.1
382
- host: nex.toa.io
383
- authorization: Basic ZGV2ZWxvcGVyOnNlY3JldA==
384
- accept: application/yaml
385
- content-type: application/yaml
386
-
387
- label: Forever token
388
- lifetime: 0
389
- """
390
- Then the following reply is sent:
391
- """
392
- 201 Created
393
-
394
- token: ${{ token }}
395
- """
396
- When the following request is received:
397
- """
398
- GET /identity/ HTTP/1.1
399
- host: nex.toa.io
400
- authorization: Token ${{ token }}
401
- """
402
- Then the following reply is sent:
403
- """
404
- 200 OK
405
- """
406
- When the following request is received:
407
- """
408
- PATCH /identity/basic/efe3a65ebbee47ed95a73edd911ea328/ HTTP/1.1
409
- host: nex.toa.io
410
- authorization: Basic ZGV2ZWxvcGVyOnNlY3JldA==
411
- content-type: application/yaml
412
-
413
- password: new-secret
414
- """
415
- Then the following reply is sent:
416
- """
417
- 200 OK
418
- """
419
- # the runtime forgets the key after `cache.ttl`
420
- Then after 1.5 seconds
421
- When the following request is received:
422
- """
423
- GET /identity/ HTTP/1.1
424
- host: nex.toa.io
425
- authorization: Token ${{ token }}
426
- """
427
- Then the following reply is sent:
428
- """
429
- 401 Unauthorized
430
- """
@@ -1,131 +0,0 @@
1
- @security
2
- Feature: Tokens lifecycle
3
-
4
- Scenario: Switching to Token authentication scheme
5
- Given the `identity.basic` database contains:
6
- | _id | authority | username | password |
7
- | efe3a65ebbee47ed95a73edd911ea328 | nex | developer | $2b$10$ZRSKkgZoGnrcTNA5w5eCcu3pxDzdTduhteVYXcp56AaNcilNkwJ.O |
8
- Given the annotation:
9
- """yaml
10
- /:
11
- io:output: true
12
- /hello/:id:
13
- auth:id: id
14
- GET:
15
- dev:stub: Hello
16
- """
17
- When the following request is received:
18
- """
19
- GET /hello/efe3a65ebbee47ed95a73edd911ea328/ HTTP/1.1
20
- host: nex.toa.io
21
- authorization: Basic ZGV2ZWxvcGVyOnNlY3JldA==
22
- accept: text/plain
23
- """
24
- Then the following reply is sent:
25
- """
26
- 200 OK
27
- authorization: Token ${{ token }}
28
- content-type: text/plain
29
-
30
- Hello
31
- """
32
-
33
- Scenario: Refreshing stale token
34
- Given the `identity.tokens` configuration:
35
- """yaml
36
- refresh: 1
37
- """
38
- And the annotation:
39
- """yaml
40
- /:
41
- io:output: true
42
- /hello/:id:
43
- auth:id: id
44
- GET:
45
- dev:stub: Hello
46
- """
47
- When the following request is received:
48
- """
49
- GET /hello/efe3a65ebbee47ed95a73edd911ea328/ HTTP/1.1
50
- host: nex.toa.io
51
- authorization: Basic ZGV2ZWxvcGVyOnNlY3JldA==
52
- accept: text/plain
53
- """
54
- Then the following reply is sent:
55
- """
56
- 200 OK
57
- authorization: Token ${{ token }}
58
- cache-control: no-store
59
-
60
- Hello
61
- """
62
- Then after 1 second
63
- When the following request is received:
64
- """
65
- GET /hello/efe3a65ebbee47ed95a73edd911ea328/ HTTP/1.1
66
- host: nex.toa.io
67
- authorization: Token ${{ token }}
68
- accept: text/plain
69
- """
70
- Then the following reply is sent:
71
- """
72
- 200 OK
73
- authorization: Token
74
- cache-control: no-store
75
-
76
- Hello
77
- """
78
-
79
- Scenario: Token revocation on password change
80
- Given the annotation:
81
- """yaml
82
- /:
83
- io:output: true
84
- /:id:
85
- id: id
86
- GET:
87
- dev:stub:
88
- access: granted!
89
- """
90
- And the `identity.tokens` configuration:
91
- """yaml
92
- refresh: 1
93
- """
94
- And the `identity.basic` database contains:
95
- | _id | VERSION | authority | username | password |
96
- | efe3a65ebbee47ed95a73edd911ea328 | 1 | nex | developer | $2b$10$ZRSKkgZoGnrcTNA5w5eCcu3pxDzdTduhteVYXcp56AaNcilNkwJ.O |
97
- When the following request is received:
98
- """
99
- GET /efe3a65ebbee47ed95a73edd911ea328/ HTTP/1.1
100
- host: nex.toa.io
101
- authorization: Basic ZGV2ZWxvcGVyOnNlY3JldA==
102
- """
103
- Then the following reply is sent:
104
- """
105
- 200 OK
106
- authorization: Token ${{ token }}
107
- """
108
- When the following request is received:
109
- """
110
- PATCH /identity/basic/efe3a65ebbee47ed95a73edd911ea328/ HTTP/1.1
111
- host: nex.toa.io
112
- authorization: Basic ZGV2ZWxvcGVyOnNlY3JldA==
113
- content-type: application/yaml
114
-
115
- password: new-secret
116
- """
117
- Then the following reply is sent:
118
- """
119
- 200 OK
120
- """
121
- Then after 1.1 seconds
122
- When the following request is received:
123
- """
124
- GET /efe3a65ebbee47ed95a73edd911ea328/ HTTP/1.1
125
- host: nex.toa.io
126
- authorization: Token ${{ token }}
127
- """
128
- Then the following reply is sent:
129
- """
130
- 401 Unauthorized
131
- """
@@ -1,20 +0,0 @@
1
- @timing
2
- Feature: Request interruptions
3
-
4
- Scenario: Connection reset while processing a request
5
- Given the annotation:
6
- """yaml
7
- /:
8
- io:output: true
9
- anonymous: true
10
- dev:sleep: 3000
11
- GET:
12
- dev:stub: hello
13
- """
14
- When the following request is interrupted after 1 second:
15
- """
16
- GET / HTTP/1.1
17
- sleep: 2000
18
- """
19
- Then after 2 seconds
20
- And the process is running