@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,368 +0,0 @@
1
- @security
2
- Feature: Caching
3
-
4
- Background:
5
- Given the `identity.basic` database contains:
6
- # developer:secret
7
- # user:12345
8
- | _id | authority | username | password |
9
- | b70a7dbca6b14a2eaac8a9eb4b2ff4db | nex | developer | $2b$10$ZRSKkgZoGnrcTNA5w5eCcu3pxDzdTduhteVYXcp56AaNcilNkwJ.O |
10
- Given the `identity.roles` database contains:
11
- | _id | identity | role |
12
- | 775a648d054e4ce1a65f8f17e5b51803 | b70a7dbca6b14a2eaac8a9eb4b2ff4db | developer |
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
-
48
- Scenario: Caching successful response
49
- Given the annotation:
50
- """yaml
51
- /:
52
- io:output: true
53
- anonymous: true
54
- GET:
55
- cache:control: max-age=60000
56
- dev:stub: hello
57
- """
58
- When the following request is received:
59
- """
60
- GET / HTTP/1.1
61
- host: nex.toa.io
62
- accept: text/plain
63
- """
64
- Then the following reply is sent:
65
- """
66
- 200 OK
67
- cache-control: max-age=60000
68
- content-type: text/plain
69
-
70
- hello
71
- """
72
-
73
- Scenario: Nested cache directives
74
- Given the annotation:
75
- """yaml
76
- /:
77
- io:output: true
78
- cache:control: max-age=30000
79
- GET:
80
- anonymous: true
81
- dev:stub: hello
82
- /foo:
83
- auth:role: developer
84
- GET:
85
- dev:stub: hello
86
- /bar:
87
- auth:role: developer
88
- cache:control: max-age=60000, public
89
- GET:
90
- dev:stub: hello
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
- """
104
- When the following request is received:
105
- """
106
- GET / HTTP/1.1
107
- host: nex.toa.io
108
- accept: text/plain
109
- """
110
- Then the following reply is sent:
111
- """
112
- 200 OK
113
- cache-control: max-age=30000
114
- content-type: text/plain
115
-
116
- hello
117
- """
118
- When the following request is received:
119
- """
120
- GET /foo/ HTTP/1.1
121
- host: nex.toa.io
122
- accept: text/plain
123
- authorization: Token ${{ token }}
124
- """
125
- Then the following reply is sent:
126
- """
127
- 200 OK
128
- cache-control: private, max-age=30000
129
- content-type: text/plain
130
-
131
- hello
132
- """
133
- When the following request is received:
134
- """
135
- GET /bar/ HTTP/1.1
136
- host: nex.toa.io
137
- accept: text/plain
138
- authorization: Token ${{ token }}
139
- """
140
- Then the following reply is sent:
141
- """
142
- 200 OK
143
- cache-control: no-cache, max-age=60000, public
144
- content-type: text/plain
145
-
146
- hello
147
- """
148
- And the reply does not contain:
149
- """
150
- cache-control: private, max-age=30000
151
- """
152
-
153
- Scenario: Cache-control is not added when request is unsafe
154
- Given the annotation:
155
- """yaml
156
- /:
157
- anonymous: true
158
- cache:control: max-age=60000
159
- POST:
160
- dev:stub: hello
161
- """
162
- When the following request is received:
163
- """
164
- POST / HTTP/1.1
165
- host: nex.toa.io
166
- accept: application/yaml
167
- """
168
- Then the reply does not contain:
169
- """
170
- cache-control: max-age=60000
171
- """
172
-
173
- Scenario: Cache-control is added without implicit modifications
174
- Given the annotation:
175
- """yaml
176
- /:
177
- io:output: true
178
- auth:role: developer
179
- cache:exact: max-age=60000, public
180
- GET:
181
- dev:stub: hello
182
- """
183
- When the following request is received:
184
- """
185
- GET /identity/ HTTP/1.1
186
- host: nex.toa.io
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 }}
200
- accept: text/plain
201
-
202
- """
203
- Then the following reply is sent:
204
- """
205
- 200 OK
206
- cache-control: max-age=60000, public
207
- content-type: text/plain
208
-
209
- hello
210
- """
211
-
212
- Scenario: Response without caching
213
- Given the annotation:
214
- """yaml
215
- /:
216
- anonymous: true
217
- GET:
218
- dev:stub: hello
219
- """
220
- When the following request is received:
221
- """
222
- GET / HTTP/1.1
223
- host: nex.toa.io
224
- accept: text/plain
225
- """
226
- Then the reply does not contain:
227
- """
228
- cache-control:
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
- """
323
-
324
- Scenario: An exact value is set whatever the method
325
- Given the annotation:
326
- """yaml
327
- /:
328
- io:output: true
329
- /tokens/:
330
- anonymous: true
331
- cache:exact: no-store
332
- POST:
333
- dev:stub: issued
334
- """
335
- When the following request is received:
336
- """
337
- POST /tokens/ HTTP/1.1
338
- host: nex.toa.io
339
- accept: text/plain
340
- """
341
- # whether a reply may be stored is not a question about the method's cacheability
342
- Then the following reply is sent:
343
- """
344
- 201 Created
345
- cache-control: no-store
346
- """
347
-
348
- Scenario: Cacheability is still asked of safe methods only
349
- Given the annotation:
350
- """yaml
351
- /:
352
- io:output: true
353
- /notes/:
354
- anonymous: true
355
- cache:control: max-age=60000, public
356
- POST:
357
- dev:stub: created
358
- """
359
- When the following request is received:
360
- """
361
- POST /notes/ HTTP/1.1
362
- host: nex.toa.io
363
- accept: text/plain
364
- """
365
- Then the reply does not contain:
366
- """
367
- cache-control:
368
- """
@@ -1,206 +0,0 @@
1
- @security
2
- Feature: Configuration values
3
-
4
- The values component declares how it is exposed in its own manifest, and that manifest
5
- is what this mounts. Reading takes `system:configuration:get`, creating takes
6
- `system:configuration:create`, and the one who creates is recorded as the originator.
7
-
8
- Background:
9
- # developer:secret, user:12345
10
- Given the `identity.basic` database contains:
11
- | _id | authority | username | password |
12
- | efe3a65ebbee47ed95a73edd911ea328 | nex | developer | $2b$10$ZRSKkgZoGnrcTNA5w5eCcu3pxDzdTduhteVYXcp56AaNcilNkwJ.O |
13
- | e8e4f9c2a68d419b861403d71fabc915 | nex | user | $2b$10$Frszmrmsz9iwSXzBbRRMKeDVKsNxozkrLNSsN.SnVC.KPxLtQr/bK |
14
- And the `identity.roles` database contains:
15
- | _id | identity | role |
16
- | 1c0b2a3d4e5f4a6b8c7d9e0f1a2b3c4d | efe3a65ebbee47ed95a73edd911ea328 | system:configuration |
17
- | 2c0b2a3d4e5f4a6b8c7d9e0f1a2b3c4d | e8e4f9c2a68d419b861403d71fabc915 | system:configuration:get |
18
- And the `identity.bans` database is empty
19
- And the `configuration.values` database is empty
20
- And the configuration values are deployed:
21
- """yaml
22
- dummies.dummy:
23
- epoch: e1
24
- schema:
25
- type: object
26
- properties:
27
- foo:
28
- type: string
29
- bar:
30
- type: string
31
- defaults:
32
- foo: deployed
33
- bar: world
34
- """
35
- And the configuration values are running
36
-
37
- Scenario: Reading the deployed configuration
38
- When the following request is received:
39
- """
40
- GET /configuration/values/dummies.dummy/ HTTP/1.1
41
- host: nex.toa.io
42
- authorization: Basic dXNlcjoxMjM0NQ==
43
- accept: application/yaml
44
- """
45
- Then the following reply is sent:
46
- """
47
- 200 OK
48
- content-type: application/yaml
49
-
50
- configuration:
51
- foo: deployed
52
- bar: world
53
- schema:
54
- type: object
55
- properties:
56
- foo:
57
- type: string
58
- bar:
59
- type: string
60
- epoch: e1
61
- """
62
-
63
- Scenario: Listing the configurations
64
- When the following request is received:
65
- """
66
- GET /configuration/values/ HTTP/1.1
67
- host: nex.toa.io
68
- authorization: Basic dXNlcjoxMjM0NQ==
69
- accept: application/yaml
70
- """
71
- Then the following reply is sent:
72
- """
73
- 200 OK
74
- content-type: application/yaml
75
-
76
- - component: dummies.dummy
77
- epoch: e1
78
- schema:
79
- type: object
80
- properties:
81
- foo:
82
- type: string
83
- bar:
84
- type: string
85
- configuration:
86
- foo: deployed
87
- bar: world
88
- """
89
-
90
- Scenario: Listing without the role
91
- When the following request is received:
92
- """
93
- GET /configuration/values/ HTTP/1.1
94
- host: nex.toa.io
95
- """
96
- Then the following reply is sent:
97
- """
98
- 401 Unauthorized
99
- """
100
-
101
- Scenario: Reading without the role
102
- When the following request is received:
103
- """
104
- GET /configuration/values/dummies.dummy/ HTTP/1.1
105
- host: nex.toa.io
106
- """
107
- Then the following reply is sent:
108
- """
109
- 401 Unauthorized
110
- """
111
-
112
- Scenario: Reading the configuration of an unknown component
113
- When the following request is received:
114
- """
115
- GET /configuration/values/dummies.unknown/ HTTP/1.1
116
- host: nex.toa.io
117
- authorization: Basic ZGV2ZWxvcGVyOnNlY3JldA==
118
- """
119
- Then the following reply is sent:
120
- """
121
- 404 Not Found
122
- """
123
-
124
- Scenario: Creating configuration
125
- When the following request is received:
126
- """
127
- POST /configuration/values/dummies.dummy/ HTTP/1.1
128
- host: nex.toa.io
129
- authorization: Basic ZGV2ZWxvcGVyOnNlY3JldA==
130
- accept: application/yaml
131
- content-type: application/yaml
132
-
133
- configuration:
134
- foo: created
135
- """
136
- Then the following reply is sent:
137
- """
138
- 201 Created
139
- content-type: application/yaml
140
-
141
- epoch: e1
142
- """
143
- When the following request is received:
144
- """
145
- GET /configuration/values/dummies.dummy/ HTTP/1.1
146
- host: nex.toa.io
147
- authorization: Basic dXNlcjoxMjM0NQ==
148
- accept: application/yaml
149
- """
150
- Then the following reply is sent:
151
- """
152
- 200 OK
153
- content-type: application/yaml
154
-
155
- configuration:
156
- foo: created
157
- epoch: e1
158
- """
159
-
160
- Scenario: Creating configuration without the role
161
- When the following request is received:
162
- """
163
- POST /configuration/values/dummies.dummy/ HTTP/1.1
164
- host: nex.toa.io
165
- authorization: Basic dXNlcjoxMjM0NQ==
166
- content-type: application/yaml
167
-
168
- configuration:
169
- foo: created
170
- """
171
- Then the following reply is sent:
172
- """
173
- 403 Forbidden
174
- """
175
-
176
- Scenario: Creating configuration not fitting the schema
177
- When the following request is received:
178
- """
179
- POST /configuration/values/dummies.dummy/ HTTP/1.1
180
- host: nex.toa.io
181
- authorization: Basic ZGV2ZWxvcGVyOnNlY3JldA==
182
- content-type: application/yaml
183
-
184
- configuration:
185
- foo:
186
- nested: true
187
- """
188
- Then the following reply is sent:
189
- """
190
- 422 Unprocessable Entity
191
- """
192
-
193
- Scenario: Creating configuration for an unknown component
194
- When the following request is received:
195
- """
196
- POST /configuration/values/dummies.unknown/ HTTP/1.1
197
- host: nex.toa.io
198
- authorization: Basic ZGV2ZWxvcGVyOnNlY3JldA==
199
- content-type: application/yaml
200
-
201
- configuration: {}
202
- """
203
- Then the following reply is sent:
204
- """
205
- 422 Unprocessable Entity
206
- """
@@ -1,127 +0,0 @@
1
- @security
2
- Feature: CORS Support
3
-
4
- Scenario: Basic CORS permissions
5
- Given the annotation:
6
- """yaml
7
- /:
8
- anonymous: true
9
- /foo:
10
- GET:
11
- dev:stub: Hello
12
- """
13
- When the following request is received:
14
- """
15
- OPTIONS / HTTP/1.1
16
- access-control-request-method: GET
17
- host: nex.toa.io
18
- origin: https://hello.world
19
- """
20
- Then the following reply is sent:
21
- """
22
- 204 No Content
23
- access-control-allow-credentials: true
24
- access-control-allow-headers: accept, authorization, content-type, if-match, if-none-match
25
- access-control-allow-methods: GET, POST, PUT, PATCH, DELETE, LOCK, UNLOCK, OPTIONS
26
- access-control-allow-origin: https://hello.world
27
- access-control-max-age: 3600
28
- cache-control: max-age=3600
29
- vary: origin
30
- """
31
- When the following request is received:
32
- """
33
- GET /foo/ HTTP/1.1
34
- host: nex.toa.io
35
- origin: https://hello.world
36
- """
37
- Then the following reply is sent:
38
- """
39
- 200 OK
40
- access-control-allow-credentials: true
41
- access-control-allow-origin: https://hello.world
42
- access-control-expose-headers: authorization, content-type, content-length, date, etag, last-modified
43
- vary: origin
44
- """
45
-
46
- Scenario: An OPTIONS that is not a preflight
47
- A preflight is `OPTIONS` carrying `Access-Control-Request-Method`, and only that. A
48
- browser puts `Origin` on every request whose method is not `GET` or `HEAD`, its own
49
- `OPTIONS` included — so one answered as a preflight is a resource no page can introspect.
50
-
51
- Given the annotation:
52
- """yaml
53
- /:
54
- anonymous: true
55
- /foo:
56
- io:output: true
57
- GET:
58
- dev:stub: Hello
59
- """
60
- When the following request is received:
61
- """
62
- OPTIONS /foo/ HTTP/1.1
63
- host: nex.toa.io
64
- origin: https://hello.world
65
- accept: application/yaml
66
- """
67
- Then the following reply is sent:
68
- """
69
- 200 OK
70
- access-control-allow-origin: https://hello.world
71
- Allow: GET
72
- vary: origin
73
- """
74
-
75
- Scenario: Always vary CORS
76
- Given the annotation:
77
- """yaml
78
- /:
79
- anonymous: true
80
- GET:
81
- dev:stub: hello
82
- """
83
- When the following request is received:
84
- """
85
- GET / HTTP/1.1
86
- host: nex.toa.io
87
- """
88
- Then the following reply is sent:
89
- """
90
- 200 OK
91
- vary: origin
92
- """
93
-
94
- Scenario: Errors have CORS headers
95
- Given the annotation:
96
- """yaml
97
- /:
98
- /foo:
99
- GET:
100
- dev:stub: Hello
101
- """
102
- When the following request is received:
103
- """
104
- GET /bar/ HTTP/1.1
105
- host: nex.toa.io
106
- origin: https://hello.world
107
- """
108
- Then the following reply is sent:
109
- """
110
- 404 Not Found
111
- access-control-allow-origin: https://hello.world
112
- access-control-expose-headers: authorization, content-type, content-length, date, etag, last-modified
113
- vary: origin
114
- """
115
- When the following request is received:
116
- """
117
- GET /foo/ HTTP/1.1
118
- host: nex.toa.io
119
- origin: https://hello.world
120
- """
121
- Then the following reply is sent:
122
- """
123
- 401 Unauthorized
124
- access-control-allow-origin: https://hello.world
125
- access-control-expose-headers: authorization, content-type, content-length, date, etag, last-modified
126
- vary: origin
127
- """