@toa.io/extensions.exposition 1.0.0-alpha.22 → 1.0.0-alpha.222

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 (820) hide show
  1. package/components/identity.bans/operations/tsconfig.tsbuildinfo +1 -1
  2. package/components/identity.basic/manifest.toa.yaml +71 -11
  3. package/components/identity.basic/operations/add.d.ts +3 -0
  4. package/components/identity.basic/operations/add.js +16 -0
  5. package/components/identity.basic/operations/add.js.map +1 -0
  6. package/components/identity.basic/operations/authenticate.js +7 -4
  7. package/components/identity.basic/operations/authenticate.js.map +1 -1
  8. package/components/identity.basic/operations/check.d.ts +7 -0
  9. package/components/identity.basic/operations/check.js +15 -0
  10. package/components/identity.basic/operations/check.js.map +1 -0
  11. package/components/identity.basic/operations/incept.d.ts +3 -2
  12. package/components/identity.basic/operations/incept.js +16 -3
  13. package/components/identity.basic/operations/incept.js.map +1 -1
  14. package/components/identity.basic/operations/transit.d.ts +2 -2
  15. package/components/identity.basic/operations/transit.js +9 -6
  16. package/components/identity.basic/operations/transit.js.map +1 -1
  17. package/components/identity.basic/operations/tsconfig.tsbuildinfo +1 -1
  18. package/components/identity.basic/operations/types.d.ts +14 -6
  19. package/components/identity.basic/source/add.ts +14 -0
  20. package/components/identity.basic/source/authenticate.ts +8 -4
  21. package/components/identity.basic/source/check.ts +20 -0
  22. package/components/identity.basic/source/incept.ts +21 -5
  23. package/components/identity.basic/source/transit.ts +12 -10
  24. package/components/identity.basic/source/types.ts +15 -6
  25. package/components/identity.federation/manifest.toa.yaml +63 -38
  26. package/components/identity.federation/operations/authenticate.d.ts +16 -3
  27. package/components/identity.federation/operations/authenticate.js +25 -16
  28. package/components/identity.federation/operations/authenticate.js.map +1 -1
  29. package/components/identity.federation/operations/decode.d.ts +3 -0
  30. package/components/identity.federation/operations/decode.js +12 -0
  31. package/components/identity.federation/operations/decode.js.map +1 -0
  32. package/components/identity.federation/operations/incept.d.ts +5 -5
  33. package/components/identity.federation/operations/incept.js +13 -5
  34. package/components/identity.federation/operations/incept.js.map +1 -1
  35. package/components/identity.federation/operations/lib/Configuration.d.ts +39 -0
  36. package/components/identity.federation/operations/lib/Configuration.js +3 -0
  37. package/components/identity.federation/operations/lib/Configuration.js.map +1 -0
  38. package/components/identity.federation/operations/lib/Ctx.d.ts +6 -0
  39. package/{transpiled/directives/vary/embeddings/Embedding.js → components/identity.federation/operations/lib/Ctx.js} +1 -1
  40. package/components/identity.federation/operations/lib/Ctx.js.map +1 -0
  41. package/components/identity.federation/operations/lib/Payload.d.ts +5 -0
  42. package/components/identity.federation/operations/lib/Payload.js +3 -0
  43. package/components/identity.federation/operations/lib/Payload.js.map +1 -0
  44. package/components/identity.federation/operations/lib/decode.d.ts +3 -0
  45. package/components/identity.federation/operations/lib/{assertions-as-values.js → decode.js} +19 -19
  46. package/components/identity.federation/operations/lib/decode.js.map +1 -0
  47. package/components/identity.federation/operations/lib/discovery.d.ts +4 -0
  48. package/components/identity.federation/operations/lib/discovery.js +49 -0
  49. package/components/identity.federation/operations/lib/discovery.js.map +1 -0
  50. package/components/identity.federation/operations/lib/errors.d.ts +11 -0
  51. package/components/identity.federation/operations/lib/errors.js +15 -0
  52. package/components/identity.federation/operations/lib/errors.js.map +1 -0
  53. package/components/identity.federation/operations/lib/exchange.d.ts +3 -0
  54. package/components/identity.federation/operations/lib/exchange.js +107 -0
  55. package/components/identity.federation/operations/lib/exchange.js.map +1 -0
  56. package/components/identity.federation/operations/lib/index.d.ts +3 -0
  57. package/components/identity.federation/operations/lib/index.js +8 -0
  58. package/components/identity.federation/operations/lib/index.js.map +1 -0
  59. package/components/identity.federation/operations/tsconfig.tsbuildinfo +1 -1
  60. package/components/identity.federation/operations/types/Scheme.d.ts +1 -0
  61. package/components/identity.federation/operations/types/Scheme.js +3 -0
  62. package/components/identity.federation/operations/types/Scheme.js.map +1 -0
  63. package/components/identity.federation/operations/types/configuration.d.ts +20 -0
  64. package/components/identity.federation/operations/types/configuration.js +3 -0
  65. package/components/identity.federation/operations/types/configuration.js.map +1 -0
  66. package/components/identity.federation/operations/types/context.d.ts +36 -0
  67. package/components/identity.federation/operations/types/context.js +3 -0
  68. package/components/identity.federation/operations/types/context.js.map +1 -0
  69. package/components/identity.federation/operations/types/entity.d.ts +6 -0
  70. package/components/identity.federation/operations/types/entity.js +3 -0
  71. package/components/identity.federation/operations/types/entity.js.map +1 -0
  72. package/components/identity.federation/operations/types/index.d.ts +4 -0
  73. package/components/identity.federation/operations/types/index.js +21 -0
  74. package/components/identity.federation/operations/types/index.js.map +1 -0
  75. package/components/identity.federation/source/authenticate.ts +43 -21
  76. package/components/identity.federation/source/decode.ts +10 -0
  77. package/components/identity.federation/source/incept.ts +20 -11
  78. package/components/identity.federation/source/lib/Configuration.ts +39 -0
  79. package/components/identity.federation/source/lib/Ctx.ts +7 -0
  80. package/components/identity.federation/source/lib/Payload.ts +6 -0
  81. package/components/identity.federation/source/lib/decode.ts +28 -0
  82. package/components/identity.federation/source/lib/discovery.ts +30 -0
  83. package/components/identity.federation/source/lib/errors.ts +12 -0
  84. package/components/identity.federation/source/lib/exchange.ts +116 -0
  85. package/components/identity.federation/source/lib/index.ts +3 -0
  86. package/components/identity.federation/source/types/Scheme.ts +1 -0
  87. package/components/identity.federation/source/types/configuration.ts +21 -0
  88. package/components/identity.federation/source/types/context.ts +40 -0
  89. package/components/identity.federation/source/types/entity.ts +6 -0
  90. package/components/identity.federation/source/types/index.ts +4 -0
  91. package/components/identity.federation/tsconfig.json +5 -4
  92. package/components/identity.keys/manifest.toa.yaml +57 -0
  93. package/components/identity.keys/operations/create.d.ts +22 -0
  94. package/components/identity.keys/operations/create.js +16 -0
  95. package/components/identity.keys/operations/create.js.map +1 -0
  96. package/components/identity.keys/operations/tsconfig.tsbuildinfo +1 -0
  97. package/components/identity.keys/source/create.ts +35 -0
  98. package/components/identity.keys/tsconfig.json +9 -0
  99. package/components/identity.otp/manifest.toa.yaml +69 -0
  100. package/components/identity.otp/operations/authenticate.d.ts +12 -0
  101. package/components/identity.otp/operations/authenticate.js +31 -0
  102. package/components/identity.otp/operations/authenticate.js.map +1 -0
  103. package/components/identity.otp/operations/issue.d.ts +12 -0
  104. package/components/identity.otp/operations/issue.js +22 -0
  105. package/components/identity.otp/operations/issue.js.map +1 -0
  106. package/components/identity.otp/operations/lib/Context.d.ts +13 -0
  107. package/components/identity.otp/operations/lib/Context.js +3 -0
  108. package/components/identity.otp/operations/lib/Context.js.map +1 -0
  109. package/components/identity.otp/operations/lib/Entity.d.ts +6 -0
  110. package/components/identity.otp/operations/lib/Entity.js +3 -0
  111. package/components/identity.otp/operations/lib/Entity.js.map +1 -0
  112. package/components/identity.otp/operations/lib/index.d.ts +1 -0
  113. package/components/identity.otp/operations/lib/index.js +3 -0
  114. package/components/identity.otp/operations/lib/index.js.map +1 -0
  115. package/components/identity.otp/operations/tsconfig.tsbuildinfo +1 -0
  116. package/components/identity.otp/source/authenticate.ts +48 -0
  117. package/components/identity.otp/source/issue.ts +34 -0
  118. package/components/identity.otp/source/lib/Context.ts +14 -0
  119. package/components/identity.otp/source/lib/Entity.ts +6 -0
  120. package/components/identity.otp/source/lib/index.ts +1 -0
  121. package/components/identity.otp/tsconfig.json +9 -0
  122. package/components/identity.passkeys/manifest.toa.yaml +276 -0
  123. package/components/identity.passkeys/operations/authenticate.d.ts +16 -0
  124. package/components/identity.passkeys/operations/authenticate.js +34 -0
  125. package/components/identity.passkeys/operations/authenticate.js.map +1 -0
  126. package/components/identity.passkeys/operations/challenge.d.ts +35 -0
  127. package/components/identity.passkeys/operations/challenge.js +73 -0
  128. package/components/identity.passkeys/operations/challenge.js.map +1 -0
  129. package/components/identity.passkeys/operations/create.d.ts +19 -0
  130. package/components/identity.passkeys/operations/create.js +58 -0
  131. package/components/identity.passkeys/operations/create.js.map +1 -0
  132. package/components/identity.passkeys/operations/delete.d.ts +8 -0
  133. package/components/identity.passkeys/operations/delete.js +12 -0
  134. package/components/identity.passkeys/operations/delete.js.map +1 -0
  135. package/components/identity.passkeys/operations/lib/const.d.ts +1 -0
  136. package/components/identity.passkeys/operations/lib/const.js +5 -0
  137. package/components/identity.passkeys/operations/lib/const.js.map +1 -0
  138. package/components/identity.passkeys/operations/list.d.ts +7 -0
  139. package/components/identity.passkeys/operations/list.js +15 -0
  140. package/components/identity.passkeys/operations/list.js.map +1 -0
  141. package/components/identity.passkeys/operations/tsconfig.tsbuildinfo +1 -0
  142. package/components/identity.passkeys/operations/types/Configuration.d.ts +6 -0
  143. package/components/identity.passkeys/operations/types/Configuration.js +3 -0
  144. package/components/identity.passkeys/operations/types/Configuration.js.map +1 -0
  145. package/components/identity.passkeys/operations/types/Context.d.ts +15 -0
  146. package/components/identity.passkeys/operations/types/Context.js +3 -0
  147. package/components/identity.passkeys/operations/types/Context.js.map +1 -0
  148. package/components/identity.passkeys/operations/types/Passkey.d.ts +13 -0
  149. package/components/identity.passkeys/operations/types/Passkey.js +3 -0
  150. package/components/identity.passkeys/operations/types/Passkey.js.map +1 -0
  151. package/components/identity.passkeys/operations/types/index.d.ts +2 -0
  152. package/components/identity.passkeys/operations/types/index.js +3 -0
  153. package/components/identity.passkeys/operations/types/index.js.map +1 -0
  154. package/components/identity.passkeys/operations/use.d.ts +16 -0
  155. package/components/identity.passkeys/operations/use.js +57 -0
  156. package/components/identity.passkeys/operations/use.js.map +1 -0
  157. package/components/identity.passkeys/source/authenticate.ts +48 -0
  158. package/components/identity.passkeys/source/challenge.ts +115 -0
  159. package/components/identity.passkeys/source/create.ts +77 -0
  160. package/components/identity.passkeys/source/delete.ts +15 -0
  161. package/components/identity.passkeys/source/lib/const.ts +1 -0
  162. package/components/identity.passkeys/source/list.ts +17 -0
  163. package/components/identity.passkeys/source/types/Configuration.ts +6 -0
  164. package/components/identity.passkeys/source/types/Context.ts +16 -0
  165. package/components/identity.passkeys/source/types/Passkey.ts +14 -0
  166. package/components/identity.passkeys/source/types/index.ts +2 -0
  167. package/components/identity.passkeys/source/use.ts +75 -0
  168. package/components/identity.passkeys/tsconfig.json +9 -0
  169. package/components/identity.roles/manifest.toa.yaml +4 -2
  170. package/components/identity.roles/operations/grant.js +2 -2
  171. package/components/identity.roles/operations/grant.js.map +1 -1
  172. package/components/identity.roles/operations/tsconfig.tsbuildinfo +1 -1
  173. package/components/identity.roles/source/grant.ts +2 -2
  174. package/components/identity.tokens/manifest.toa.yaml +93 -13
  175. package/components/identity.tokens/operations/authenticate.d.ts +2 -2
  176. package/components/identity.tokens/operations/authenticate.js +13 -12
  177. package/components/identity.tokens/operations/authenticate.js.map +1 -1
  178. package/components/identity.tokens/operations/decrypt.d.ts +13 -3
  179. package/components/identity.tokens/operations/decrypt.js +65 -18
  180. package/components/identity.tokens/operations/decrypt.js.map +1 -1
  181. package/components/identity.tokens/operations/encrypt.d.ts +3 -3
  182. package/components/identity.tokens/operations/encrypt.js +24 -8
  183. package/components/identity.tokens/operations/encrypt.js.map +1 -1
  184. package/components/identity.tokens/operations/issue.d.ts +24 -0
  185. package/components/identity.tokens/operations/issue.js +59 -0
  186. package/components/identity.tokens/operations/issue.js.map +1 -0
  187. package/components/identity.tokens/operations/lib/index.d.ts +2 -0
  188. package/components/identity.tokens/operations/lib/index.js +19 -0
  189. package/components/identity.tokens/operations/lib/index.js.map +1 -0
  190. package/components/identity.tokens/operations/lib/pad.d.ts +1 -0
  191. package/components/identity.tokens/operations/lib/pad.js +5 -0
  192. package/components/identity.tokens/operations/lib/pad.js.map +1 -0
  193. package/components/identity.tokens/operations/lib/types.d.ts +75 -0
  194. package/components/identity.tokens/operations/lib/types.js.map +1 -0
  195. package/components/identity.tokens/operations/revoke.d.ts +2 -2
  196. package/components/identity.tokens/operations/revoke.js.map +1 -1
  197. package/components/identity.tokens/operations/tsconfig.tsbuildinfo +1 -1
  198. package/components/identity.tokens/source/authenticate.test.ts +13 -7
  199. package/components/identity.tokens/source/authenticate.ts +15 -14
  200. package/components/identity.tokens/source/decrypt.test.ts +29 -16
  201. package/components/identity.tokens/source/decrypt.ts +94 -20
  202. package/components/identity.tokens/source/encrypt.test.ts +48 -13
  203. package/components/identity.tokens/source/encrypt.ts +36 -12
  204. package/components/identity.tokens/source/issue.ts +82 -0
  205. package/components/identity.tokens/source/lib/index.ts +2 -0
  206. package/components/identity.tokens/source/lib/pad.ts +1 -0
  207. package/components/identity.tokens/source/lib/paseto.test.ts +16 -0
  208. package/components/identity.tokens/source/{types.ts → lib/types.ts} +38 -7
  209. package/components/identity.tokens/source/revoke.ts +2 -2
  210. package/components/octets.storage/manifest.toa.yaml +13 -11
  211. package/components/octets.storage/operations/get.js +3 -3
  212. package/components/octets.storage/operations/head.js +7 -0
  213. package/components/octets.storage/operations/put.js +135 -0
  214. package/documentation/access.md +78 -27
  215. package/documentation/authorities.md +6 -11
  216. package/documentation/components.md +114 -39
  217. package/documentation/dev.md +30 -0
  218. package/documentation/flow.md +44 -0
  219. package/documentation/identity.md +115 -5
  220. package/documentation/introspection.md +82 -0
  221. package/documentation/io.md +42 -2
  222. package/documentation/map.md +115 -0
  223. package/documentation/notes/desync.jpg +0 -0
  224. package/documentation/notes/peers.md +59 -0
  225. package/documentation/notes/throttling.md +82 -0
  226. package/documentation/octets.md +122 -69
  227. package/documentation/passkeys.md +4 -0
  228. package/documentation/protocol.md +11 -4
  229. package/documentation/query.md +51 -4
  230. package/documentation/tree.md +13 -0
  231. package/features/access.feature +67 -2
  232. package/features/auth.assert.feature +57 -0
  233. package/features/auth.claims.feature +170 -0
  234. package/features/auth.incept.feature +120 -0
  235. package/features/auth.input.feature +59 -0
  236. package/features/auth.issue.feature +32 -0
  237. package/features/authorities.basic.feature +4 -3
  238. package/features/authorities.feature +3 -3
  239. package/features/authorities.federation.feature +20 -20
  240. package/features/authorities.tokens.feature +1 -2
  241. package/features/body.feature +27 -0
  242. package/features/cache.feature +92 -3
  243. package/features/cors.feature +28 -7
  244. package/features/debug.feature +34 -0
  245. package/features/dev.feature +87 -0
  246. package/features/dynamic.feature +44 -0
  247. package/features/errors.feature +17 -5
  248. package/features/etag.feature +134 -1
  249. package/features/flow.feature +148 -0
  250. package/features/identity.basic.feature +120 -6
  251. package/features/identity.feature +11 -4
  252. package/features/identity.federation.feature +122 -42
  253. package/features/identity.otp.feature +101 -0
  254. package/features/identity.roles.feature +52 -3
  255. package/features/identity.tokens.feature +1 -99
  256. package/features/identtiy.tokens.custom.feature +247 -0
  257. package/features/interruptions.feature +19 -0
  258. package/features/introspection.feature +153 -0
  259. package/features/io.feature +0 -1
  260. package/features/io.throttle.feature +40 -0
  261. package/features/map.feature +356 -0
  262. package/features/methods.feature +47 -0
  263. package/features/octets.cloudinary.feature +223 -0
  264. package/features/octets.download.feature +189 -0
  265. package/features/octets.entries.feature +8 -58
  266. package/features/octets.feature +54 -120
  267. package/features/octets.head.feature +40 -0
  268. package/features/octets.location.feature +83 -0
  269. package/features/octets.meta.feature +62 -15
  270. package/features/octets.workflows.feature +332 -67
  271. package/features/passkeys.feature +66 -0
  272. package/features/probes.feature +14 -0
  273. package/features/{queries.feature → query.feature} +134 -2
  274. package/features/realtime.feature +34 -0
  275. package/features/response.feature +29 -0
  276. package/features/routes.feature +86 -2
  277. package/features/server.feature +21 -0
  278. package/features/steps/.env.example +5 -0
  279. package/features/steps/Captures.ts +12 -0
  280. package/features/steps/Common.ts +4 -0
  281. package/features/steps/Gateway.ts +3 -1
  282. package/features/steps/HTTP.ts +27 -3
  283. package/features/steps/IDP.ts +334 -0
  284. package/features/steps/Identity.ts +51 -0
  285. package/features/steps/OTP.ts +39 -0
  286. package/features/steps/Parameters.ts +88 -2
  287. package/features/steps/Realtime.ts +151 -0
  288. package/features/steps/Workspace.ts +1 -2
  289. package/features/steps/components/echo/manifest.toa.yaml +17 -0
  290. package/features/steps/components/echo/operations/echo.js +7 -0
  291. package/features/steps/components/echo/operations/parameters.js +7 -0
  292. package/features/steps/components/echo/operations/ping.js +7 -0
  293. package/features/steps/components/echo/operations/unwrap.js +7 -0
  294. package/features/steps/components/echo.beacon/manifest.toa.yaml +2 -0
  295. package/features/steps/components/echo.beacon/operations/hello.js +5 -0
  296. package/features/steps/components/greeter/manifest.toa.yaml +0 -1
  297. package/features/steps/components/octets.tester/manifest.toa.yaml +26 -3
  298. package/features/steps/components/octets.tester/operations/authority.js +7 -0
  299. package/features/steps/components/octets.tester/operations/bar.js +0 -1
  300. package/features/steps/components/octets.tester/operations/baz.js +1 -1
  301. package/features/steps/components/octets.tester/operations/echo.js +1 -1
  302. package/features/steps/components/octets.tester/operations/foo.js +2 -2
  303. package/features/steps/components/octets.tester/operations/id.js +7 -0
  304. package/features/steps/components/octets.tester/operations/identity.js +7 -0
  305. package/features/steps/components/octets.tester/operations/redirect.js +12 -0
  306. package/features/steps/components/octets.tester/operations/yex.js +16 -0
  307. package/features/steps/components/octets.tester/operations/yield.js +13 -0
  308. package/features/steps/components/pots/manifest.toa.yaml +15 -4
  309. package/features/steps/components/sequences/manifest.toa.yaml +0 -1
  310. package/features/steps/components/users/manifest.toa.yaml +4 -2
  311. package/features/steps/components/users/operations/create.js +15 -0
  312. package/features/steps/components/users.properties/manifest.toa.yaml +0 -1
  313. package/features/streams.feature +4 -0
  314. package/features/timestamps.feature +41 -0
  315. package/features/timing.feature +1 -1
  316. package/package.json +34 -21
  317. package/schemas/annotation.cos.yaml +7 -0
  318. package/schemas/io/throttle.cos.yaml +36 -0
  319. package/schemas/method.cos.yaml +2 -1
  320. package/schemas/node.cos.yaml +2 -0
  321. package/schemas/octets/put.cos.yaml +28 -0
  322. package/schemas/query.cos.yaml +7 -10
  323. package/schemas/querystring.cos.yaml +1 -0
  324. package/source/Annotation.ts +3 -0
  325. package/source/Branch.ts +1 -0
  326. package/source/Composition.ts +0 -6
  327. package/source/Context.ts +1 -0
  328. package/source/Directive.test.ts +5 -3
  329. package/source/Directive.ts +30 -6
  330. package/source/Endpoint.ts +88 -23
  331. package/source/Factory.ts +15 -3
  332. package/source/Gateway.ts +76 -14
  333. package/source/HTTP/Context.ts +40 -8
  334. package/source/HTTP/Server.ts +161 -47
  335. package/source/HTTP/Timing.ts +1 -1
  336. package/source/HTTP/exceptions.ts +30 -12
  337. package/source/HTTP/formats/index.ts +4 -5
  338. package/source/HTTP/formats/json.ts +2 -4
  339. package/source/HTTP/formats/msgpack.ts +0 -1
  340. package/source/HTTP/formats/text.ts +2 -4
  341. package/source/HTTP/formats/yaml.ts +2 -3
  342. package/source/HTTP/messages.test.ts +70 -7
  343. package/source/HTTP/messages.ts +99 -19
  344. package/source/Introspection.ts +11 -0
  345. package/source/Mapping.ts +69 -21
  346. package/source/Query.test.ts +3 -3
  347. package/source/Query.ts +130 -33
  348. package/source/RTD/Context.ts +1 -1
  349. package/source/RTD/Directives.ts +4 -0
  350. package/source/RTD/Endpoint.ts +3 -0
  351. package/source/RTD/Method.ts +16 -0
  352. package/source/RTD/Node.ts +30 -15
  353. package/source/RTD/Route.ts +12 -5
  354. package/source/RTD/Tree.ts +7 -5
  355. package/source/RTD/factory.ts +4 -1
  356. package/source/RTD/segment.ts +2 -0
  357. package/source/RTD/syntax/parse.test.ts +1 -1
  358. package/source/RTD/syntax/parse.ts +37 -24
  359. package/source/RTD/syntax/types.ts +9 -4
  360. package/source/Remotes.ts +7 -6
  361. package/source/Tenant.ts +6 -12
  362. package/source/deployment.ts +14 -8
  363. package/source/directives/auth/Anonymous.ts +3 -3
  364. package/source/directives/auth/Anyone.ts +13 -0
  365. package/source/directives/auth/Assert.ts +35 -0
  366. package/source/directives/auth/Authorization.ts +58 -22
  367. package/source/directives/auth/Delegate.ts +9 -5
  368. package/source/directives/auth/Echo.ts +16 -6
  369. package/source/directives/auth/Federation.ts +84 -0
  370. package/source/directives/auth/Id.ts +1 -1
  371. package/source/directives/auth/Incept.ts +76 -24
  372. package/source/directives/auth/Input.ts +71 -0
  373. package/source/directives/auth/Role.test.ts +2 -3
  374. package/source/directives/auth/Role.ts +6 -11
  375. package/source/directives/auth/Rule.ts +3 -6
  376. package/source/directives/auth/Scheme.ts +5 -5
  377. package/source/directives/auth/create.ts +11 -0
  378. package/source/directives/auth/schemes.ts +5 -2
  379. package/source/directives/auth/split.ts +1 -1
  380. package/source/directives/auth/types.ts +12 -7
  381. package/source/directives/cache/Cache.ts +20 -7
  382. package/source/directives/cache/Control.ts +16 -16
  383. package/source/directives/cors/CORS.ts +9 -9
  384. package/source/directives/dev/Development.ts +14 -7
  385. package/source/directives/dev/Faulty.ts +26 -0
  386. package/source/directives/dev/Sleep.ts +55 -0
  387. package/source/directives/dev/types.ts +1 -1
  388. package/source/directives/flow/Compose.ts +92 -0
  389. package/source/directives/flow/Fetch.ts +86 -0
  390. package/source/directives/flow/Flow.ts +42 -0
  391. package/source/directives/flow/index.ts +3 -0
  392. package/source/directives/flow/types.ts +7 -0
  393. package/source/directives/index.ts +3 -2
  394. package/source/directives/io/Directive.ts +5 -2
  395. package/source/directives/io/IO.ts +18 -6
  396. package/source/directives/io/Input.ts +9 -6
  397. package/source/directives/io/Output.ts +6 -5
  398. package/source/directives/io/Throttle.ts +32 -0
  399. package/source/directives/io/lib/throttle/Configuration.test.ts +40 -0
  400. package/source/directives/io/lib/throttle/Configuration.ts +58 -0
  401. package/source/directives/io/lib/throttle/Interval.ts +31 -0
  402. package/source/directives/io/lib/throttle/Keys.ts +40 -0
  403. package/source/directives/io/lib/throttle/Quota.ts +22 -0
  404. package/source/directives/io/lib/throttle/Quotas.test.ts +136 -0
  405. package/source/directives/io/lib/throttle/Quotas.ts +83 -0
  406. package/source/directives/io/lib/throttle/components/Component.ts +5 -0
  407. package/source/directives/io/lib/throttle/components/IP.ts +40 -0
  408. package/source/directives/io/lib/throttle/components/Path.ts +8 -0
  409. package/source/directives/io/lib/throttle/components/index.ts +13 -0
  410. package/source/directives/io/lib/throttle/conditions/Condition.ts +5 -0
  411. package/source/directives/io/lib/throttle/conditions/Status.ts +17 -0
  412. package/source/directives/io/lib/throttle/conditions/index.ts +11 -0
  413. package/source/directives/io/lib/throttle/index.ts +2 -0
  414. package/source/directives/io/schemas.test.ts +9 -0
  415. package/source/directives/io/schemas.ts +3 -0
  416. package/source/directives/map/Authority.ts +15 -0
  417. package/source/directives/map/Buffer.ts +15 -0
  418. package/source/directives/map/Claims.ts +58 -0
  419. package/source/directives/map/Directive.ts +4 -0
  420. package/source/directives/map/Headers.ts +38 -0
  421. package/source/directives/map/Language.ts +42 -0
  422. package/source/directives/map/Languages.ts +11 -0
  423. package/source/directives/map/Map.ts +63 -0
  424. package/source/directives/map/Mapping.ts +19 -0
  425. package/source/directives/{vary → map}/Properties.ts +2 -4
  426. package/source/directives/map/Segments.ts +33 -0
  427. package/source/directives/map/index.ts +3 -0
  428. package/source/directives/octets/Context.ts +3 -2
  429. package/source/directives/octets/Delete.ts +22 -19
  430. package/source/directives/octets/Get.ts +96 -0
  431. package/source/directives/octets/Octets.ts +10 -14
  432. package/source/directives/octets/Put.ts +138 -0
  433. package/source/directives/octets/Workflow.ts +9 -3
  434. package/source/directives/octets/bytes.test.ts +30 -0
  435. package/source/directives/octets/bytes.ts +18 -0
  436. package/source/directives/octets/schemas.ts +4 -8
  437. package/source/directives/octets/types.ts +2 -0
  438. package/source/directives/octets/workflows/Execution.ts +62 -8
  439. package/source/directives/octets/workflows/Workflow.ts +18 -7
  440. package/source/directives/octets/workflows/index.ts +1 -1
  441. package/source/exceptions.ts +16 -4
  442. package/source/manifest.ts +10 -11
  443. package/source/root.ts +16 -1
  444. package/transpiled/Annotation.d.ts +2 -0
  445. package/transpiled/Branch.d.ts +1 -0
  446. package/transpiled/Composition.d.ts +0 -1
  447. package/transpiled/Composition.js +0 -4
  448. package/transpiled/Composition.js.map +1 -1
  449. package/transpiled/Context.d.ts +1 -0
  450. package/transpiled/Directive.d.ts +3 -0
  451. package/transpiled/Directive.js +24 -6
  452. package/transpiled/Directive.js.map +1 -1
  453. package/transpiled/Endpoint.d.ts +6 -4
  454. package/transpiled/Endpoint.js +63 -15
  455. package/transpiled/Endpoint.js.map +1 -1
  456. package/transpiled/Factory.d.ts +1 -1
  457. package/transpiled/Factory.js +11 -2
  458. package/transpiled/Factory.js.map +1 -1
  459. package/transpiled/Gateway.d.ts +3 -0
  460. package/transpiled/Gateway.js +57 -12
  461. package/transpiled/Gateway.js.map +1 -1
  462. package/transpiled/HTTP/Context.d.ts +13 -2
  463. package/transpiled/HTTP/Context.js +26 -6
  464. package/transpiled/HTTP/Context.js.map +1 -1
  465. package/transpiled/HTTP/Server.d.ts +7 -3
  466. package/transpiled/HTTP/Server.js +126 -37
  467. package/transpiled/HTTP/Server.js.map +1 -1
  468. package/transpiled/HTTP/Timing.js.map +1 -1
  469. package/transpiled/HTTP/exceptions.d.ts +16 -7
  470. package/transpiled/HTTP/exceptions.js +34 -16
  471. package/transpiled/HTTP/exceptions.js.map +1 -1
  472. package/transpiled/HTTP/formats/index.d.ts +2 -2
  473. package/transpiled/HTTP/formats/index.js +3 -3
  474. package/transpiled/HTTP/formats/index.js.map +1 -1
  475. package/transpiled/HTTP/formats/json.d.ts +2 -2
  476. package/transpiled/HTTP/formats/json.js +3 -4
  477. package/transpiled/HTTP/formats/json.js.map +1 -1
  478. package/transpiled/HTTP/formats/msgpack.d.ts +1 -1
  479. package/transpiled/HTTP/formats/msgpack.js.map +1 -1
  480. package/transpiled/HTTP/formats/text.d.ts +2 -2
  481. package/transpiled/HTTP/formats/text.js +3 -4
  482. package/transpiled/HTTP/formats/text.js.map +1 -1
  483. package/transpiled/HTTP/formats/yaml.d.ts +2 -2
  484. package/transpiled/HTTP/formats/yaml.js +3 -4
  485. package/transpiled/HTTP/formats/yaml.js.map +1 -1
  486. package/transpiled/HTTP/messages.d.ts +4 -1
  487. package/transpiled/HTTP/messages.js +74 -13
  488. package/transpiled/HTTP/messages.js.map +1 -1
  489. package/transpiled/Introspection.d.ts +9 -0
  490. package/transpiled/Introspection.js +3 -0
  491. package/transpiled/Introspection.js.map +1 -0
  492. package/transpiled/Mapping.d.ts +11 -2
  493. package/transpiled/Mapping.js +51 -19
  494. package/transpiled/Mapping.js.map +1 -1
  495. package/transpiled/Query.d.ts +12 -1
  496. package/transpiled/Query.js +93 -28
  497. package/transpiled/Query.js.map +1 -1
  498. package/transpiled/RTD/Context.d.ts +1 -1
  499. package/transpiled/RTD/Directives.d.ts +3 -0
  500. package/transpiled/RTD/Endpoint.d.ts +1 -0
  501. package/transpiled/RTD/Method.d.ts +4 -0
  502. package/transpiled/RTD/Method.js +11 -0
  503. package/transpiled/RTD/Method.js.map +1 -1
  504. package/transpiled/RTD/Node.d.ts +4 -1
  505. package/transpiled/RTD/Node.js +23 -12
  506. package/transpiled/RTD/Node.js.map +1 -1
  507. package/transpiled/RTD/Route.d.ts +2 -1
  508. package/transpiled/RTD/Route.js +7 -3
  509. package/transpiled/RTD/Route.js.map +1 -1
  510. package/transpiled/RTD/Tree.d.ts +2 -1
  511. package/transpiled/RTD/Tree.js +3 -0
  512. package/transpiled/RTD/Tree.js.map +1 -1
  513. package/transpiled/RTD/factory.js +4 -1
  514. package/transpiled/RTD/factory.js.map +1 -1
  515. package/transpiled/RTD/segment.d.ts +1 -0
  516. package/transpiled/RTD/segment.js +2 -0
  517. package/transpiled/RTD/segment.js.map +1 -1
  518. package/transpiled/RTD/syntax/parse.js +34 -22
  519. package/transpiled/RTD/syntax/parse.js.map +1 -1
  520. package/transpiled/RTD/syntax/types.d.ts +8 -3
  521. package/transpiled/RTD/syntax/types.js +1 -1
  522. package/transpiled/RTD/syntax/types.js.map +1 -1
  523. package/transpiled/Remotes.d.ts +4 -4
  524. package/transpiled/Remotes.js +6 -5
  525. package/transpiled/Remotes.js.map +1 -1
  526. package/transpiled/Tenant.d.ts +5 -4
  527. package/transpiled/Tenant.js +2 -7
  528. package/transpiled/Tenant.js.map +1 -1
  529. package/transpiled/deployment.js +9 -3
  530. package/transpiled/deployment.js.map +1 -1
  531. package/transpiled/directives/auth/Anonymous.d.ts +2 -2
  532. package/transpiled/directives/auth/Anonymous.js +2 -2
  533. package/transpiled/directives/auth/Anonymous.js.map +1 -1
  534. package/transpiled/directives/auth/Anyone.d.ts +6 -0
  535. package/transpiled/directives/auth/Anyone.js +14 -0
  536. package/transpiled/directives/auth/Anyone.js.map +1 -0
  537. package/transpiled/directives/auth/Assert.d.ts +7 -0
  538. package/transpiled/directives/auth/Assert.js +57 -0
  539. package/transpiled/directives/auth/Assert.js.map +1 -0
  540. package/transpiled/directives/auth/Authorization.d.ts +4 -3
  541. package/transpiled/directives/auth/Authorization.js +48 -21
  542. package/transpiled/directives/auth/Authorization.js.map +1 -1
  543. package/transpiled/directives/auth/Delegate.d.ts +5 -4
  544. package/transpiled/directives/auth/Delegate.js +7 -3
  545. package/transpiled/directives/auth/Delegate.js.map +1 -1
  546. package/transpiled/directives/auth/Echo.d.ts +4 -4
  547. package/transpiled/directives/auth/Echo.js +11 -4
  548. package/transpiled/directives/auth/Echo.js.map +1 -1
  549. package/transpiled/directives/auth/Federation.d.ts +16 -0
  550. package/transpiled/directives/auth/Federation.js +57 -0
  551. package/transpiled/directives/auth/Federation.js.map +1 -0
  552. package/transpiled/directives/auth/Id.d.ts +1 -1
  553. package/transpiled/directives/auth/Id.js.map +1 -1
  554. package/transpiled/directives/auth/Incept.d.ts +8 -5
  555. package/transpiled/directives/auth/Incept.js +57 -19
  556. package/transpiled/directives/auth/Incept.js.map +1 -1
  557. package/transpiled/directives/auth/Input.d.ts +13 -0
  558. package/transpiled/directives/auth/Input.js +49 -0
  559. package/transpiled/directives/auth/Input.js.map +1 -0
  560. package/transpiled/directives/auth/Role.d.ts +1 -1
  561. package/transpiled/directives/auth/Role.js +4 -6
  562. package/transpiled/directives/auth/Role.js.map +1 -1
  563. package/transpiled/directives/auth/Rule.d.ts +2 -4
  564. package/transpiled/directives/auth/Rule.js +2 -2
  565. package/transpiled/directives/auth/Rule.js.map +1 -1
  566. package/transpiled/directives/auth/Scheme.d.ts +2 -2
  567. package/transpiled/directives/auth/Scheme.js +4 -4
  568. package/transpiled/directives/auth/Scheme.js.map +1 -1
  569. package/transpiled/directives/auth/create.d.ts +2 -0
  570. package/transpiled/directives/auth/create.js +14 -0
  571. package/transpiled/directives/auth/create.js.map +1 -0
  572. package/transpiled/directives/auth/schemes.d.ts +2 -1
  573. package/transpiled/directives/auth/schemes.js +5 -2
  574. package/transpiled/directives/auth/schemes.js.map +1 -1
  575. package/transpiled/directives/auth/split.js +1 -1
  576. package/transpiled/directives/auth/split.js.map +1 -1
  577. package/transpiled/directives/auth/types.d.ts +10 -7
  578. package/transpiled/directives/cache/Cache.d.ts +3 -3
  579. package/transpiled/directives/cache/Cache.js +15 -4
  580. package/transpiled/directives/cache/Cache.js.map +1 -1
  581. package/transpiled/directives/cache/Control.d.ts +2 -2
  582. package/transpiled/directives/cache/Control.js +12 -12
  583. package/transpiled/directives/cache/Control.js.map +1 -1
  584. package/transpiled/directives/cors/CORS.js +7 -7
  585. package/transpiled/directives/cors/CORS.js.map +1 -1
  586. package/transpiled/directives/dev/Development.d.ts +1 -1
  587. package/transpiled/directives/dev/Development.js +15 -7
  588. package/transpiled/directives/dev/Development.js.map +1 -1
  589. package/transpiled/directives/dev/Faulty.d.ts +8 -0
  590. package/transpiled/directives/dev/Faulty.js +26 -0
  591. package/transpiled/directives/dev/Faulty.js.map +1 -0
  592. package/transpiled/directives/dev/Sleep.d.ts +9 -0
  593. package/transpiled/directives/dev/Sleep.js +48 -0
  594. package/transpiled/directives/dev/Sleep.js.map +1 -0
  595. package/transpiled/directives/dev/types.d.ts +1 -1
  596. package/transpiled/directives/flow/Compose.d.ts +9 -0
  597. package/transpiled/directives/flow/Compose.js +94 -0
  598. package/transpiled/directives/flow/Compose.js.map +1 -0
  599. package/transpiled/directives/flow/Fetch.d.ts +12 -0
  600. package/transpiled/directives/flow/Fetch.js +58 -0
  601. package/transpiled/directives/flow/Fetch.js.map +1 -0
  602. package/transpiled/directives/flow/Flow.d.ts +10 -0
  603. package/transpiled/directives/flow/Flow.js +33 -0
  604. package/transpiled/directives/flow/Flow.js.map +1 -0
  605. package/transpiled/directives/flow/index.d.ts +2 -0
  606. package/transpiled/directives/flow/index.js +6 -0
  607. package/transpiled/directives/flow/index.js.map +1 -0
  608. package/transpiled/directives/flow/types.d.ts +6 -0
  609. package/transpiled/directives/flow/types.js.map +1 -0
  610. package/transpiled/directives/index.js +3 -2
  611. package/transpiled/directives/index.js.map +1 -1
  612. package/transpiled/directives/io/Directive.d.ts +5 -2
  613. package/transpiled/directives/io/IO.d.ts +4 -2
  614. package/transpiled/directives/io/IO.js +14 -4
  615. package/transpiled/directives/io/IO.js.map +1 -1
  616. package/transpiled/directives/io/Input.d.ts +1 -1
  617. package/transpiled/directives/io/Input.js +5 -3
  618. package/transpiled/directives/io/Input.js.map +1 -1
  619. package/transpiled/directives/io/Output.d.ts +1 -1
  620. package/transpiled/directives/io/Output.js +3 -3
  621. package/transpiled/directives/io/Output.js.map +1 -1
  622. package/transpiled/directives/io/Throttle.d.ts +11 -0
  623. package/transpiled/directives/{octets/Permute.js → io/Throttle.js} +21 -28
  624. package/transpiled/directives/io/Throttle.js.map +1 -0
  625. package/transpiled/directives/io/lib/throttle/Configuration.d.ts +23 -0
  626. package/transpiled/directives/io/lib/throttle/Configuration.js +27 -0
  627. package/transpiled/directives/io/lib/throttle/Configuration.js.map +1 -0
  628. package/transpiled/directives/io/lib/throttle/Interval.d.ts +9 -0
  629. package/transpiled/directives/io/lib/throttle/Interval.js +31 -0
  630. package/transpiled/directives/io/lib/throttle/Interval.js.map +1 -0
  631. package/transpiled/directives/io/lib/throttle/Keys.d.ts +12 -0
  632. package/transpiled/directives/io/lib/throttle/Keys.js +34 -0
  633. package/transpiled/directives/io/lib/throttle/Keys.js.map +1 -0
  634. package/transpiled/directives/io/lib/throttle/Quota.d.ts +8 -0
  635. package/transpiled/directives/io/lib/throttle/Quota.js +22 -0
  636. package/transpiled/directives/io/lib/throttle/Quota.js.map +1 -0
  637. package/transpiled/directives/io/lib/throttle/Quotas.d.ts +26 -0
  638. package/transpiled/directives/io/lib/throttle/Quotas.js +61 -0
  639. package/transpiled/directives/io/lib/throttle/Quotas.js.map +1 -0
  640. package/transpiled/directives/io/lib/throttle/components/Component.d.ts +4 -0
  641. package/transpiled/directives/io/lib/throttle/components/Component.js +3 -0
  642. package/transpiled/directives/io/lib/throttle/components/Component.js.map +1 -0
  643. package/transpiled/directives/io/lib/throttle/components/IP.d.ts +6 -0
  644. package/transpiled/directives/io/lib/throttle/components/IP.js +33 -0
  645. package/transpiled/directives/io/lib/throttle/components/IP.js.map +1 -0
  646. package/transpiled/directives/io/lib/throttle/components/Path.d.ts +5 -0
  647. package/transpiled/directives/io/lib/throttle/components/Path.js +10 -0
  648. package/transpiled/directives/io/lib/throttle/components/Path.js.map +1 -0
  649. package/transpiled/directives/io/lib/throttle/components/index.d.ts +5 -0
  650. package/transpiled/directives/io/lib/throttle/components/index.js +10 -0
  651. package/transpiled/directives/io/lib/throttle/components/index.js.map +1 -0
  652. package/transpiled/directives/io/lib/throttle/conditions/Condition.d.ts +4 -0
  653. package/transpiled/directives/io/lib/throttle/conditions/Condition.js +3 -0
  654. package/transpiled/directives/io/lib/throttle/conditions/Condition.js.map +1 -0
  655. package/transpiled/directives/io/lib/throttle/conditions/Status.d.ts +7 -0
  656. package/transpiled/directives/io/lib/throttle/conditions/Status.js +19 -0
  657. package/transpiled/directives/io/lib/throttle/conditions/Status.js.map +1 -0
  658. package/transpiled/directives/io/lib/throttle/conditions/index.d.ts +5 -0
  659. package/transpiled/directives/io/lib/throttle/conditions/index.js +8 -0
  660. package/transpiled/directives/io/lib/throttle/conditions/index.js.map +1 -0
  661. package/transpiled/directives/io/lib/throttle/index.d.ts +2 -0
  662. package/transpiled/directives/io/lib/throttle/index.js +8 -0
  663. package/transpiled/directives/io/lib/throttle/index.js.map +1 -0
  664. package/transpiled/directives/io/schemas.d.ts +2 -0
  665. package/transpiled/directives/io/schemas.js +2 -1
  666. package/transpiled/directives/io/schemas.js.map +1 -1
  667. package/transpiled/directives/map/Authority.d.ts +6 -0
  668. package/transpiled/directives/map/Authority.js +19 -0
  669. package/transpiled/directives/map/Authority.js.map +1 -0
  670. package/transpiled/directives/map/Buffer.d.ts +6 -0
  671. package/transpiled/directives/map/Buffer.js +19 -0
  672. package/transpiled/directives/map/Buffer.js.map +1 -0
  673. package/transpiled/directives/map/Claims.d.ts +10 -0
  674. package/transpiled/directives/map/Claims.js +44 -0
  675. package/transpiled/directives/map/Claims.js.map +1 -0
  676. package/transpiled/directives/map/Directive.d.ts +3 -0
  677. package/transpiled/directives/map/Directive.js.map +1 -0
  678. package/transpiled/directives/map/Headers.d.ts +7 -0
  679. package/transpiled/directives/map/Headers.js +34 -0
  680. package/transpiled/directives/map/Headers.js.map +1 -0
  681. package/transpiled/directives/map/Language.d.ts +10 -0
  682. package/transpiled/directives/map/Language.js +38 -0
  683. package/transpiled/directives/map/Language.js.map +1 -0
  684. package/transpiled/directives/map/Languages.d.ts +4 -0
  685. package/transpiled/directives/map/Languages.js +17 -0
  686. package/transpiled/directives/map/Languages.js.map +1 -0
  687. package/transpiled/directives/map/Map.d.ts +13 -0
  688. package/transpiled/directives/map/Map.js +48 -0
  689. package/transpiled/directives/map/Map.js.map +1 -0
  690. package/transpiled/directives/map/Mapping.d.ts +13 -0
  691. package/transpiled/directives/map/Mapping.js +13 -0
  692. package/transpiled/directives/map/Mapping.js.map +1 -0
  693. package/transpiled/directives/{vary → map}/Properties.d.ts +2 -2
  694. package/transpiled/directives/{vary → map}/Properties.js +1 -3
  695. package/transpiled/directives/map/Properties.js.map +1 -0
  696. package/transpiled/directives/map/Segments.d.ts +6 -0
  697. package/transpiled/directives/map/Segments.js +30 -0
  698. package/transpiled/directives/map/Segments.js.map +1 -0
  699. package/transpiled/directives/map/index.d.ts +2 -0
  700. package/transpiled/directives/map/index.js +6 -0
  701. package/transpiled/directives/map/index.js.map +1 -0
  702. package/transpiled/directives/octets/Context.js +4 -24
  703. package/transpiled/directives/octets/Context.js.map +1 -1
  704. package/transpiled/directives/octets/Delete.js +15 -12
  705. package/transpiled/directives/octets/Delete.js.map +1 -1
  706. package/transpiled/directives/octets/{Fetch.d.ts → Get.d.ts} +5 -6
  707. package/transpiled/directives/octets/{Fetch.js → Get.js} +34 -30
  708. package/transpiled/directives/octets/Get.js.map +1 -0
  709. package/transpiled/directives/octets/Octets.js +9 -12
  710. package/transpiled/directives/octets/Octets.js.map +1 -1
  711. package/transpiled/directives/octets/{Store.d.ts → Put.d.ts} +8 -2
  712. package/transpiled/directives/octets/{Store.js → Put.js} +33 -27
  713. package/transpiled/directives/octets/Put.js.map +1 -0
  714. package/transpiled/directives/octets/Workflow.js +7 -2
  715. package/transpiled/directives/octets/Workflow.js.map +1 -1
  716. package/transpiled/directives/octets/bytes.d.ts +1 -0
  717. package/transpiled/directives/octets/bytes.js +21 -0
  718. package/transpiled/directives/octets/bytes.js.map +1 -0
  719. package/transpiled/directives/octets/schemas.d.ts +4 -8
  720. package/transpiled/directives/octets/schemas.js +3 -6
  721. package/transpiled/directives/octets/schemas.js.map +1 -1
  722. package/transpiled/directives/octets/types.d.ts +2 -0
  723. package/transpiled/directives/octets/workflows/Execution.d.ts +7 -1
  724. package/transpiled/directives/octets/workflows/Execution.js +44 -9
  725. package/transpiled/directives/octets/workflows/Execution.js.map +1 -1
  726. package/transpiled/directives/octets/workflows/Workflow.d.ts +8 -3
  727. package/transpiled/directives/octets/workflows/Workflow.js +10 -4
  728. package/transpiled/directives/octets/workflows/Workflow.js.map +1 -1
  729. package/transpiled/directives/octets/workflows/index.d.ts +1 -1
  730. package/transpiled/directives/octets/workflows/index.js.map +1 -1
  731. package/transpiled/exceptions.js +11 -2
  732. package/transpiled/exceptions.js.map +1 -1
  733. package/transpiled/manifest.js +10 -11
  734. package/transpiled/manifest.js.map +1 -1
  735. package/transpiled/root.js +16 -1
  736. package/transpiled/root.js.map +1 -1
  737. package/transpiled/tsconfig.tsbuildinfo +1 -1
  738. package/components/identity.federation/operations/lib/assertions-as-values.d.ts +0 -4
  739. package/components/identity.federation/operations/lib/assertions-as-values.js.map +0 -1
  740. package/components/identity.federation/operations/lib/jwt.d.ts +0 -20
  741. package/components/identity.federation/operations/lib/jwt.js +0 -136
  742. package/components/identity.federation/operations/lib/jwt.js.map +0 -1
  743. package/components/identity.federation/operations/schemas.d.ts +0 -63
  744. package/components/identity.federation/operations/schemas.js +0 -9
  745. package/components/identity.federation/operations/schemas.js.map +0 -1
  746. package/components/identity.federation/operations/types.d.ts +0 -56
  747. package/components/identity.federation/operations/types.js.map +0 -1
  748. package/components/identity.federation/source/lib/assertions-as-values.ts +0 -19
  749. package/components/identity.federation/source/lib/jwt.test.ts +0 -56
  750. package/components/identity.federation/source/lib/jwt.ts +0 -171
  751. package/components/identity.federation/source/schemas.ts +0 -65
  752. package/components/identity.federation/source/types.ts +0 -62
  753. package/components/identity.tokens/operations/types.d.ts +0 -46
  754. package/components/identity.tokens/operations/types.js.map +0 -1
  755. package/components/octets.storage/operations/fetch.js +0 -46
  756. package/components/octets.storage/operations/list.js +0 -7
  757. package/components/octets.storage/operations/permute.js +0 -7
  758. package/components/octets.storage/operations/store.js +0 -11
  759. package/documentation/vary.md +0 -69
  760. package/features/steps/IdP.ts +0 -154
  761. package/features/steps/components/octets.tester/operations/diversify.js +0 -14
  762. package/features/vary.feature +0 -252
  763. package/schemas/octets/context.cos.yaml +0 -1
  764. package/schemas/octets/fetch.cos.yaml +0 -3
  765. package/schemas/octets/permute.cos.yaml +0 -1
  766. package/schemas/octets/store.cos.yaml +0 -3
  767. package/source/directives/octets/Fetch.ts +0 -100
  768. package/source/directives/octets/List.ts +0 -72
  769. package/source/directives/octets/Permute.ts +0 -44
  770. package/source/directives/octets/Store.ts +0 -126
  771. package/source/directives/vary/Directive.ts +0 -7
  772. package/source/directives/vary/Embed.ts +0 -68
  773. package/source/directives/vary/Vary.ts +0 -50
  774. package/source/directives/vary/embeddings/Authority.ts +0 -8
  775. package/source/directives/vary/embeddings/Embedding.ts +0 -7
  776. package/source/directives/vary/embeddings/Header.ts +0 -32
  777. package/source/directives/vary/embeddings/Language.ts +0 -31
  778. package/source/directives/vary/embeddings/Parameter.ts +0 -14
  779. package/source/directives/vary/embeddings/index.ts +0 -13
  780. package/source/directives/vary/index.ts +0 -3
  781. package/transpiled/directives/octets/Fetch.js.map +0 -1
  782. package/transpiled/directives/octets/List.d.ts +0 -16
  783. package/transpiled/directives/octets/List.js +0 -74
  784. package/transpiled/directives/octets/List.js.map +0 -1
  785. package/transpiled/directives/octets/Permute.d.ts +0 -11
  786. package/transpiled/directives/octets/Permute.js.map +0 -1
  787. package/transpiled/directives/octets/Store.js.map +0 -1
  788. package/transpiled/directives/vary/Directive.d.ts +0 -6
  789. package/transpiled/directives/vary/Directive.js.map +0 -1
  790. package/transpiled/directives/vary/Embed.d.ts +0 -11
  791. package/transpiled/directives/vary/Embed.js +0 -51
  792. package/transpiled/directives/vary/Embed.js.map +0 -1
  793. package/transpiled/directives/vary/Properties.js.map +0 -1
  794. package/transpiled/directives/vary/Vary.d.ts +0 -10
  795. package/transpiled/directives/vary/Vary.js +0 -36
  796. package/transpiled/directives/vary/Vary.js.map +0 -1
  797. package/transpiled/directives/vary/embeddings/Authority.d.ts +0 -5
  798. package/transpiled/directives/vary/embeddings/Authority.js +0 -10
  799. package/transpiled/directives/vary/embeddings/Authority.js.map +0 -1
  800. package/transpiled/directives/vary/embeddings/Embedding.d.ts +0 -6
  801. package/transpiled/directives/vary/embeddings/Embedding.js.map +0 -1
  802. package/transpiled/directives/vary/embeddings/Header.d.ts +0 -7
  803. package/transpiled/directives/vary/embeddings/Header.js +0 -28
  804. package/transpiled/directives/vary/embeddings/Header.js.map +0 -1
  805. package/transpiled/directives/vary/embeddings/Language.d.ts +0 -7
  806. package/transpiled/directives/vary/embeddings/Language.js +0 -28
  807. package/transpiled/directives/vary/embeddings/Language.js.map +0 -1
  808. package/transpiled/directives/vary/embeddings/Parameter.d.ts +0 -7
  809. package/transpiled/directives/vary/embeddings/Parameter.js +0 -14
  810. package/transpiled/directives/vary/embeddings/Parameter.js.map +0 -1
  811. package/transpiled/directives/vary/embeddings/index.d.ts +0 -5
  812. package/transpiled/directives/vary/embeddings/index.js +0 -14
  813. package/transpiled/directives/vary/embeddings/index.js.map +0 -1
  814. package/transpiled/directives/vary/index.d.ts +0 -2
  815. package/transpiled/directives/vary/index.js +0 -6
  816. package/transpiled/directives/vary/index.js.map +0 -1
  817. /package/components/{identity.federation/operations → identity.tokens/operations/lib}/types.js +0 -0
  818. /package/schemas/octets/{list.cos.yaml → get.cos.yaml} +0 -0
  819. /package/{components/identity.tokens/operations → transpiled/directives/flow}/types.js +0 -0
  820. /package/transpiled/directives/{vary → map}/Directive.js +0 -0
@@ -0,0 +1,189 @@
1
+ Feature: Download external resources
2
+
3
+ Scenario Outline: Download from trusted location defined as <type>
4
+ Given the annotation:
5
+ """yaml
6
+ /:
7
+ io:output: true
8
+ auth:anonymous: true
9
+ octets:context: octets
10
+ POST:
11
+ octets:put:
12
+ trust:
13
+ - <location> # <type>
14
+ - https://github.com
15
+ /*:
16
+ GET:
17
+ octets:get:
18
+ meta: true
19
+ """
20
+
21
+ When the following request is received:
22
+ """
23
+ POST / HTTP/1.1
24
+ host: nex.toa.io
25
+ content-location: https://avatars.githubusercontent.com/u/92763022?s=48&v=4
26
+ content-length: 0
27
+ accept: application/yaml
28
+ """
29
+ Then the following reply is sent:
30
+ """
31
+ 201 Created
32
+
33
+ id: ${{ id }}
34
+ type: image/png
35
+ """
36
+
37
+ When the following request is received:
38
+ """
39
+ GET /${{ id }} HTTP/1.1
40
+ host: nex.toa.io
41
+ """
42
+ Then the following reply is sent:
43
+ """
44
+ 200 OK
45
+ content-type: image/png
46
+ content-length: 1288
47
+ etag: "${{ id }}"
48
+ """
49
+
50
+ # origin is stored in the entry
51
+ When the following request is received:
52
+ """
53
+ GET /${{ id }} HTTP/1.1
54
+ host: nex.toa.io
55
+ accept: application/vnd.toa.octets.entry+yaml
56
+ """
57
+ Then the following reply is sent:
58
+ """
59
+ 200 OK
60
+ content-type: application/yaml
61
+
62
+ id: ${{ id }}
63
+ type: image/png
64
+ origin: https://avatars.githubusercontent.com/u/92763022?s=48&v=4
65
+ """
66
+
67
+ # untrusted location
68
+ When the following request is received:
69
+ """
70
+ POST / HTTP/1.1
71
+ host: nex.toa.io
72
+ content-location: https://github.githubassets.com/assets/yolo-default-be0bbff04951.png
73
+ content-length: 0
74
+ accept: application/yaml
75
+ """
76
+ Then the following reply is sent:
77
+ """
78
+ 403 Forbidden
79
+
80
+ Location is not trusted
81
+ """
82
+
83
+ # content-length must be 0
84
+ When the following request is received:
85
+ """
86
+ POST / HTTP/1.1
87
+ host: nex.toa.io
88
+ content-location: https://avatars.githubusercontent.com/u/92763022?s=48&v=4
89
+ content-length: 1
90
+ accept: application/yaml
91
+
92
+ 1
93
+ """
94
+ Then the following reply is sent:
95
+ """
96
+ 400 Bad Request
97
+
98
+ Content-Length must be 0 when Content-Location is used
99
+ """
100
+
101
+ # invalid content-location
102
+ When the following request is received:
103
+ """
104
+ POST / HTTP/1.1
105
+ host: nex.toa.io
106
+ content-location: Hello there!
107
+ content-length: 0
108
+ accept: application/yaml
109
+ """
110
+ Then the following reply is sent:
111
+ """
112
+ 403 Forbidden
113
+
114
+ Location is not trusted
115
+ """
116
+
117
+ # unavailable location
118
+ When the following request is received:
119
+ """
120
+ POST / HTTP/1.1
121
+ host: nex.toa.io
122
+ content-location: https://github.com/toa-io/no
123
+ content-length: 0
124
+ accept: application/yaml
125
+ """
126
+ Then the following reply is sent:
127
+ """
128
+ 404 Not Found
129
+
130
+ Location is not available
131
+ """
132
+
133
+ Examples:
134
+ | type | location |
135
+ | origin | https://avatars.githubusercontent.com |
136
+ | expression | /^https://avatars\.githubusercontent\.com/ |
137
+
138
+ Scenario: Download size limit
139
+ Given the annotation:
140
+ """yaml
141
+ /:
142
+ io:output: true
143
+ auth:anonymous: true
144
+ octets:context: octets
145
+ POST:
146
+ octets:put:
147
+ limit: 1kb
148
+ trust:
149
+ - https://avatars.githubusercontent.com
150
+ """
151
+ When the following request is received:
152
+ """
153
+ POST / HTTP/1.1
154
+ host: nex.toa.io
155
+ content-location: https://avatars.githubusercontent.com/u/92763022?s=48&v=4
156
+ content-length: 0
157
+ accept: text/plain
158
+ """
159
+ Then the following reply is sent:
160
+ """
161
+ 413 Request Entity Too Large
162
+
163
+ Size limit is 1kb
164
+ """
165
+
166
+ Scenario: Allow `content-location` request header
167
+ Given the annotation:
168
+ """yaml
169
+ /:
170
+ io:output: true
171
+ auth:anonymous: true
172
+ octets:context: octets
173
+ POST:
174
+ octets:put:
175
+ limit: 1kb
176
+ trust:
177
+ - https://avatars.githubusercontent.com
178
+ """
179
+ When the following request is received:
180
+ """
181
+ OPTIONS / HTTP/1.1
182
+ host: nex.toa.io
183
+ origin: https://hello.world
184
+ """
185
+ Then the following reply is sent:
186
+ """
187
+ 204 No Content
188
+ access-control-allow-headers: accept, authorization, content-type, etag, if-match, if-none-match, content-attributes, content-location
189
+ """
@@ -1,6 +1,6 @@
1
- Feature: Accessing entries
1
+ Feature: Accessing metadata
2
2
 
3
- Scenario: Entries are not accessible by default
3
+ Scenario: Metadata is not accessible by default
4
4
  Given the annotation:
5
5
  """yaml
6
6
  /:
@@ -8,12 +8,10 @@ Feature: Accessing entries
8
8
  auth:anonymous: true
9
9
  octets:context: octets
10
10
  POST:
11
- octets:store: ~
12
- GET:
13
- octets:list: ~
11
+ octets:put: ~
14
12
  /*:
15
13
  GET:
16
- octets:fetch: ~
14
+ octets:get: ~
17
15
  """
18
16
  When the stream of `lenna.ascii` is received with the following headers:
19
17
  """
@@ -25,18 +23,6 @@ Feature: Accessing entries
25
23
  """
26
24
  201 Created
27
25
  """
28
- When the following request is received:
29
- """
30
- GET / HTTP/1.1
31
- host: nex.toa.io
32
- accept: application/vnd.toa.octets.entries+yaml
33
- """
34
- Then the following reply is sent:
35
- """
36
- 403 Forbidden
37
-
38
- Metadata is not accessible.
39
- """
40
26
  When the following request is received:
41
27
  """
42
28
  GET /10cf16b458f759e0d617f2f3d83599ff HTTP/1.1
@@ -47,10 +33,10 @@ Feature: Accessing entries
47
33
  """
48
34
  403 Forbidden
49
35
 
50
- Metadata is not accessible.
36
+ Metadata is not accessible
51
37
  """
52
38
 
53
- Scenario: Accessing entries
39
+ Scenario: Accessing metadata
54
40
  Given the annotation:
55
41
  """yaml
56
42
  /:
@@ -58,13 +44,10 @@ Feature: Accessing entries
58
44
  auth:anonymous: true
59
45
  octets:context: octets
60
46
  POST:
61
- octets:store: ~
62
- GET:
63
- octets:list:
64
- meta: true
47
+ octets:put: ~
65
48
  /*:
66
49
  GET:
67
- octets:fetch:
50
+ octets:get:
68
51
  meta: true
69
52
  """
70
53
  When the stream of `lenna.ascii` is received with the following headers:
@@ -81,38 +64,6 @@ Feature: Accessing entries
81
64
  accept: application/yaml
82
65
  content-type: application/octet-stream
83
66
  """
84
- When the following request is received:
85
- """
86
- GET / HTTP/1.1
87
- host: nex.toa.io
88
- accept: application/yaml
89
- """
90
- Then the following reply is sent:
91
- """
92
- 200 OK
93
- content-type: application/yaml
94
-
95
- - 10cf16b458f759e0d617f2f3d83599ff
96
- - 814a0034f5549e957ee61360d87457e5
97
- """
98
- When the following request is received:
99
- """
100
- GET / HTTP/1.1
101
- host: nex.toa.io
102
- accept: application/vnd.toa.octets.entries+yaml
103
- """
104
- Then the following reply is sent:
105
- """
106
- 200 OK
107
- content-type: application/yaml
108
-
109
- - id: 10cf16b458f759e0d617f2f3d83599ff
110
- size: 8169
111
- type: application/octet-stream
112
- - id: 814a0034f5549e957ee61360d87457e5
113
- size: 473831
114
- type: image/png
115
- """
116
67
  When the following request is received:
117
68
  """
118
69
  GET /10cf16b458f759e0d617f2f3d83599ff HTTP/1.1
@@ -123,7 +74,6 @@ Feature: Accessing entries
123
74
  """
124
75
  200 OK
125
76
  content-type: application/yaml
126
- content-length: 124
127
77
 
128
78
  id: 10cf16b458f759e0d617f2f3d83599ff
129
79
  type: application/octet-stream
@@ -8,34 +8,38 @@ Feature: Octets directive family
8
8
  auth:anonymous: true
9
9
  octets:context: octets
10
10
  POST:
11
- octets:store: ~
12
- GET:
13
- octets:list: ~
14
- PUT:
15
- octets:permute: ~
11
+ octets:put: ~
16
12
  /*:
17
13
  GET:
18
- octets:fetch: ~
14
+ octets:get: ~
19
15
  DELETE:
20
16
  octets:delete: ~
21
17
  /media:
22
18
  /jpeg:
23
19
  POST:
24
- octets:store:
20
+ octets:put:
25
21
  accept: image/jpeg
26
22
  /jpeg-or-png:
27
23
  POST:
28
- octets:store:
24
+ octets:put:
29
25
  accept:
30
26
  - image/jpeg
31
27
  - image/png
32
28
  /images:
33
29
  POST:
34
- octets:store:
30
+ octets:put:
35
31
  accept: image/*
36
32
  /*:
37
33
  GET:
38
- octets:fetch: ~
34
+ octets:get: ~
35
+ /limit-1kb:
36
+ POST:
37
+ octets:put:
38
+ limit: 1kb
39
+ /limit-100kb:
40
+ POST:
41
+ octets:put:
42
+ limit: 100kb
39
43
  """
40
44
 
41
45
  Scenario: Basic storage operations
@@ -51,13 +55,13 @@ Feature: Octets directive family
51
55
  201 Created
52
56
  content-type: application/yaml
53
57
 
54
- id: 10cf16b458f759e0d617f2f3d83599ff
58
+ id: ${{ id }}
55
59
  type: application/octet-stream
56
60
  size: 8169
57
61
  """
58
62
  When the following request is received:
59
63
  """
60
- GET /10cf16b458f759e0d617f2f3d83599ff HTTP/1.1
64
+ GET /${{ id }} HTTP/1.1
61
65
  host: nex.toa.io
62
66
  """
63
67
  Then the stream equals to `lenna.ascii` is sent with the following headers:
@@ -69,7 +73,7 @@ Feature: Octets directive family
69
73
  """
70
74
  When the following request is received:
71
75
  """
72
- GET /10cf16b458f759e0d617f2f3d83599ff HTTP/1.1
76
+ GET /${{ id }} HTTP/1.1
73
77
  host: nex.toa.io
74
78
  if-none-match: ${{ ETAG }}
75
79
  """
@@ -79,20 +83,7 @@ Feature: Octets directive family
79
83
  """
80
84
  When the following request is received:
81
85
  """
82
- GET / HTTP/1.1
83
- host: nex.toa.io
84
- accept: application/yaml
85
- """
86
- Then the following reply is sent:
87
- """
88
- 200 OK
89
- content-type: application/yaml
90
-
91
- - 10cf16b458f759e0d617f2f3d83599ff
92
- """
93
- When the following request is received:
94
- """
95
- GET /10cf16b458f759e0d617f2f3d83599ff?foo=bar HTTP/1.1
86
+ GET /${{ id }}?foo=bar HTTP/1.1
96
87
  host: nex.toa.io
97
88
  """
98
89
  Then the following reply is sent:
@@ -101,7 +92,7 @@ Feature: Octets directive family
101
92
  """
102
93
  When the following request is received:
103
94
  """
104
- DELETE /10cf16b458f759e0d617f2f3d83599ff HTTP/1.1
95
+ DELETE /${{ id }} HTTP/1.1
105
96
  host: nex.toa.io
106
97
  """
107
98
  Then the following reply is sent:
@@ -110,7 +101,7 @@ Feature: Octets directive family
110
101
  """
111
102
  When the following request is received:
112
103
  """
113
- GET /10cf16b458f759e0d617f2f3d83599ff HTTP/1.1
104
+ GET /${{ id }} HTTP/1.1
114
105
  host: nex.toa.io
115
106
  """
116
107
  Then the following reply is sent:
@@ -118,87 +109,56 @@ Feature: Octets directive family
118
109
  404 Not Found
119
110
  """
120
111
 
121
- Scenario: Entries permutation
122
- When the stream of `lenna.ascii` is received with the following headers:
123
- """
124
- POST / HTTP/1.1
125
- host: nex.toa.io
126
- accept: application/yaml
127
- content-type: application/octet-stream
128
- """
129
- And the stream of `lenna.png` is received with the following headers:
130
- """
131
- POST / HTTP/1.1
132
- host: nex.toa.io
133
- accept: application/yaml
134
- content-type: application/octet-stream
135
- """
136
- When the following request is received:
137
- """
138
- GET / HTTP/1.1
139
- host: nex.toa.io
140
- accept: application/yaml
141
- """
142
- Then the following reply is sent:
143
- """
144
- 200 OK
145
- content-type: application/yaml
146
-
147
- - 10cf16b458f759e0d617f2f3d83599ff
148
- - 814a0034f5549e957ee61360d87457e5
149
- """
150
- When the following request is received:
112
+ Scenario: Media type control
113
+ When the stream of `lenna.png` is received with the following headers:
151
114
  """
152
- PUT / HTTP/1.1
115
+ POST /media/jpeg-or-png/ HTTP/1.1
153
116
  host: nex.toa.io
154
- content-type: application/yaml
155
-
156
- - 814a0034f5549e957ee61360d87457e5
157
- - 10cf16b458f759e0d617f2f3d83599ff
117
+ content-type: image/jpeg
158
118
  """
159
119
  Then the following reply is sent:
160
120
  """
161
- 204 No Content
121
+ 400 Bad Request
162
122
  """
163
- When the following request is received:
123
+ When the stream of `lenna.png` is received with the following headers:
164
124
  """
165
- GET / HTTP/1.1
125
+ POST /media/jpeg/ HTTP/1.1
166
126
  host: nex.toa.io
167
- accept: application/yaml
168
127
  """
169
128
  Then the following reply is sent:
170
129
  """
171
- 200 OK
172
- content-type: application/yaml
173
-
174
- - 814a0034f5549e957ee61360d87457e5
175
- - 10cf16b458f759e0d617f2f3d83599ff
130
+ 415 Unsupported Media Type
176
131
  """
177
-
178
- Scenario: Media type control
179
132
  When the stream of `lenna.png` is received with the following headers:
180
133
  """
181
134
  POST /media/jpeg-or-png/ HTTP/1.1
182
135
  host: nex.toa.io
183
- content-type: image/jpeg
184
136
  """
185
137
  Then the following reply is sent:
186
138
  """
187
- 400 Bad Request
139
+ 201 Created
188
140
  """
189
- When the stream of `lenna.png` is received with the following headers:
141
+
142
+ Scenario: Size limit
143
+ When the stream of `albert.jpg` is received with the following headers:
190
144
  """
191
- POST /media/jpeg/ HTTP/1.1
145
+ POST /limit-1kb/ HTTP/1.1
192
146
  host: nex.toa.io
147
+ content-type: image/jpeg
148
+ accept: text/plain
193
149
  """
194
150
  Then the following reply is sent:
195
151
  """
196
- 415 Unsupported Media Type
152
+ 413 Request Entity Too Large
153
+
154
+ Size limit is 1kb
197
155
  """
198
- When the stream of `lenna.png` is received with the following headers:
156
+
157
+ When the stream of `albert.jpg` is received with the following headers:
199
158
  """
200
- POST /media/jpeg-or-png/ HTTP/1.1
159
+ POST /limit-100kb/ HTTP/1.1
201
160
  host: nex.toa.io
161
+ content-type: image/jpeg
202
162
  """
203
163
  Then the following reply is sent:
204
164
  """
@@ -242,6 +202,17 @@ Feature: Octets directive family
242
202
  type: image/svg+xml
243
203
  """
244
204
 
205
+ Scenario: Rejection video/avi
206
+ When the stream of `sample.avi` is received with the following headers:
207
+ """
208
+ POST /media/images/ HTTP/1.1
209
+ host: nex.toa.io
210
+ """
211
+ Then the following reply is sent:
212
+ """
213
+ 415 Unsupported Media Type
214
+ """
215
+
245
216
  Scenario: Fetching non-existent BLOB
246
217
  When the following request is received:
247
218
  """
@@ -272,42 +243,5 @@ Feature: Octets directive family
272
243
  404 Not Found
273
244
  content-type: text/plain
274
245
 
275
- Trailing slash is redundant.
276
- """
277
-
278
- Scenario: Original BLOB is not accessible
279
- Given the annotation:
280
- """yaml
281
- /:
282
- io:output: true
283
- auth:anonymous: true
284
- octets:context: octets
285
- POST:
286
- octets:store: ~
287
- /*:
288
- GET:
289
- octets:fetch:
290
- meta: true
291
- blob: false
292
- """
293
- When the stream of `lenna.ascii` is received with the following headers:
294
- """
295
- POST / HTTP/1.1
296
- host: nex.toa.io
297
- """
298
- Then the following reply is sent:
299
- """
300
- 201 Created
301
- """
302
- When the following request is received:
303
- """
304
- GET /10cf16b458f759e0d617f2f3d83599ff HTTP/1.1
305
- host: nex.toa.io
306
- accept: text/plain
307
- """
308
- Then the following reply is sent:
309
- """
310
- 403 Forbidden
311
-
312
- BLOB variant must be specified.
246
+ Trailing slash is redundant
313
247
  """
@@ -0,0 +1,40 @@
1
+ Feature: Octets headers
2
+
3
+ Scenario: Accessing headers
4
+ Given the annotation:
5
+ """yaml
6
+ /:
7
+ io:output: true
8
+ auth:anonymous: true
9
+ octets:context: octets
10
+ /*:
11
+ POST:
12
+ octets:put: ~
13
+ /*:
14
+ HEAD:
15
+ octets:head: ~
16
+ """
17
+ When the stream of `lenna.ascii` is received with the following headers:
18
+ """
19
+ POST /assets/ HTTP/1.1
20
+ host: nex.toa.io
21
+ accept: application/yaml
22
+ content-type: application/octet-stream
23
+ """
24
+ Then the following reply is sent:
25
+ """
26
+ 201 Created
27
+
28
+ id: ${{ id }}
29
+ """
30
+ When the following request is received:
31
+ """
32
+ HEAD /assets/${{ id }} HTTP/1.1
33
+ host: nex.toa.io
34
+ """
35
+ Then the following reply is sent:
36
+ """
37
+ 200 OK
38
+ content-type: application/octet-stream
39
+ content-length: 8169
40
+ """