@toa.io/extensions.exposition 1.0.0-alpha.3 → 1.0.0-alpha.31
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.
- package/components/context.toa.yaml +2 -2
- package/components/identity.bans/manifest.toa.yaml +15 -6
- package/components/identity.bans/operations/transit.d.ts +14 -0
- package/components/identity.bans/operations/transit.js +11 -0
- package/components/identity.bans/operations/transit.js.map +1 -0
- package/components/identity.bans/operations/tsconfig.tsbuildinfo +1 -0
- package/components/identity.bans/source/transit.ts +21 -0
- package/components/identity.bans/tsconfig.json +9 -0
- package/components/identity.basic/manifest.toa.yaml +21 -8
- package/components/identity.basic/operations/authenticate.d.ts +5 -1
- package/components/identity.basic/operations/authenticate.js +5 -2
- package/components/identity.basic/operations/authenticate.js.map +1 -1
- package/components/identity.basic/operations/incept.d.ts +12 -0
- package/components/identity.basic/operations/incept.js +20 -0
- package/components/identity.basic/operations/incept.js.map +1 -0
- package/components/identity.basic/operations/transit.d.ts +3 -3
- package/components/identity.basic/operations/transit.js +5 -3
- package/components/identity.basic/operations/transit.js.map +1 -1
- package/components/identity.basic/operations/tsconfig.tsbuildinfo +1 -1
- package/components/identity.basic/operations/types.d.ts +2 -0
- package/components/identity.basic/source/authenticate.ts +16 -5
- package/components/identity.basic/source/incept.ts +32 -0
- package/components/identity.basic/source/transit.ts +7 -5
- package/components/identity.basic/source/types.ts +2 -0
- package/components/identity.federation/manifest.toa.yaml +28 -17
- package/components/identity.federation/operations/authenticate.d.ts +2 -2
- package/components/identity.federation/operations/authenticate.js +6 -5
- package/components/identity.federation/operations/authenticate.js.map +1 -1
- package/components/identity.federation/operations/incept.d.ts +11 -0
- package/components/identity.federation/operations/{create.js → incept.js} +6 -7
- package/components/identity.federation/operations/incept.js.map +1 -0
- package/components/identity.federation/operations/lib/jwt.d.ts +4 -5
- package/components/identity.federation/operations/lib/jwt.js +3 -3
- package/components/identity.federation/operations/lib/jwt.js.map +1 -1
- package/components/identity.federation/operations/tsconfig.tsbuildinfo +1 -1
- package/components/identity.federation/operations/types/configuration.d.ts +15 -0
- package/components/identity.federation/operations/types/configuration.js +3 -0
- package/components/identity.federation/operations/types/configuration.js.map +1 -0
- package/components/identity.federation/operations/{types.d.ts → types/context.d.ts} +8 -3
- package/components/identity.federation/operations/types/context.js +3 -0
- package/components/identity.federation/operations/types/context.js.map +1 -0
- package/components/identity.federation/operations/types/entity.d.ts +6 -0
- package/components/identity.federation/operations/{types.js → types/entity.js} +1 -1
- package/components/identity.federation/operations/types/entity.js.map +1 -0
- package/components/identity.federation/operations/types/index.d.ts +3 -0
- package/components/identity.federation/operations/types/index.js +20 -0
- package/components/identity.federation/operations/types/index.js.map +1 -0
- package/components/identity.federation/source/authenticate.ts +10 -9
- package/components/identity.federation/source/{create.ts → incept.ts} +10 -9
- package/components/identity.federation/source/lib/jwt.test.ts +2 -2
- package/components/identity.federation/source/lib/jwt.ts +7 -8
- package/components/identity.federation/source/types/configuration.ts +16 -0
- package/components/identity.federation/source/{types.ts → types/context.ts} +9 -4
- package/components/identity.federation/source/types/entity.ts +6 -0
- package/components/identity.federation/source/types/index.ts +3 -0
- package/components/identity.federation/tsconfig.json +2 -2
- package/components/identity.roles/manifest.toa.yaml +18 -5
- package/components/identity.roles/operations/grant.d.ts +10 -0
- package/components/identity.roles/operations/grant.js +21 -0
- package/components/identity.roles/operations/grant.js.map +1 -0
- package/components/identity.roles/operations/lib/Entity.d.ts +5 -0
- package/components/identity.roles/operations/lib/Entity.js +3 -0
- package/components/identity.roles/operations/lib/Entity.js.map +1 -0
- package/components/identity.roles/operations/list.d.ts +1 -4
- package/components/identity.roles/operations/list.js.map +1 -1
- package/components/identity.roles/operations/principal.d.ts +4 -6
- package/components/identity.roles/operations/principal.js +6 -1
- package/components/identity.roles/operations/principal.js.map +1 -1
- package/components/identity.roles/operations/tsconfig.tsbuildinfo +1 -1
- package/components/identity.roles/source/grant.ts +32 -0
- package/components/identity.roles/source/lib/Entity.ts +5 -0
- package/components/identity.roles/source/list.ts +2 -4
- package/components/identity.roles/source/principal.ts +10 -8
- package/components/identity.tokens/manifest.toa.yaml +19 -4
- package/components/identity.tokens/operations/authenticate.d.ts +2 -2
- package/components/identity.tokens/operations/authenticate.js +10 -4
- package/components/identity.tokens/operations/authenticate.js.map +1 -1
- package/components/identity.tokens/operations/decrypt.js +1 -0
- package/components/identity.tokens/operations/decrypt.js.map +1 -1
- package/components/identity.tokens/operations/encrypt.js +5 -1
- package/components/identity.tokens/operations/encrypt.js.map +1 -1
- package/components/identity.tokens/operations/tsconfig.tsbuildinfo +1 -1
- package/components/identity.tokens/operations/types.d.ts +8 -2
- package/components/identity.tokens/receivers/identity.bans.created.js +3 -0
- package/components/identity.tokens/source/authenticate.test.ts +11 -4
- package/components/identity.tokens/source/authenticate.ts +12 -5
- package/components/identity.tokens/source/decrypt.test.ts +5 -3
- package/components/identity.tokens/source/decrypt.ts +9 -8
- package/components/identity.tokens/source/encrypt.test.ts +26 -2
- package/components/identity.tokens/source/encrypt.ts +5 -1
- package/components/identity.tokens/source/types.ts +9 -2
- package/components/octets.storage/manifest.toa.yaml +0 -6
- package/components/octets.storage/operations/store.js +1 -1
- package/documentation/access.md +27 -16
- package/documentation/authorities.md +53 -0
- package/documentation/cache.md +8 -1
- package/documentation/components.md +52 -27
- package/documentation/identity.md +17 -22
- package/documentation/io.md +56 -0
- package/documentation/protocol.md +3 -0
- package/documentation/query.md +57 -8
- package/documentation/require.md +15 -0
- package/documentation/tree.md +22 -4
- package/documentation/vary.md +14 -14
- package/entity.json +0 -0
- package/features/access.feature +83 -56
- package/features/annotation.feature +2 -0
- package/features/authorities.basic.feature +141 -0
- package/features/authorities.feature +32 -0
- package/features/authorities.federation.feature +99 -0
- package/features/authorities.tokens.feature +118 -0
- package/features/body.feature +5 -1
- package/features/cache.feature +78 -5
- package/features/cors.feature +6 -2
- package/features/debug.feature +34 -0
- package/features/directives.feature +5 -0
- package/features/dynamic.feature +18 -7
- package/features/errors.feature +19 -5
- package/features/etag.feature +103 -0
- package/features/identity.bans.feature +137 -0
- package/features/identity.basic.feature +137 -14
- package/features/identity.feature +7 -2
- package/features/identity.federation.feature +61 -8
- package/features/identity.roles.feature +220 -4
- package/features/identity.tokens.feature +114 -4
- package/features/io.feature +205 -0
- package/features/octets.entries.feature +11 -1
- package/features/octets.feature +60 -64
- package/features/octets.meta.feature +7 -3
- package/features/octets.workflows.feature +14 -0
- package/features/probes.feature +14 -0
- package/features/{queries.feature → query.feature} +50 -3
- package/features/require.feature +67 -0
- package/features/response.feature +12 -3
- package/features/routes.feature +25 -12
- package/features/steps/Database.ts +17 -10
- package/features/steps/Gateway.ts +24 -4
- package/features/steps/IdP.ts +28 -23
- package/features/steps/components/echo/manifest.toa.yaml +5 -0
- package/features/steps/components/echo/operations/identity.js +7 -0
- package/features/steps/components/greeter/manifest.toa.yaml +1 -0
- package/features/steps/components/octets.tester/manifest.toa.yaml +1 -0
- package/features/steps/components/pots/manifest.toa.yaml +12 -3
- package/features/steps/components/sequences/manifest.toa.yaml +1 -0
- package/features/steps/components/users.properties/manifest.toa.yaml +2 -1
- package/features/streams.feature +1 -0
- package/features/timing.feature +69 -0
- package/features/vary.feature +105 -3
- package/package.json +12 -14
- package/readme.md +19 -13
- package/schemas/annotation.cos.yaml +2 -1
- package/schemas/io/input.cos.yaml +3 -0
- package/schemas/io/message.cos.yaml +5 -0
- package/schemas/io/output.cos.yaml +5 -0
- package/schemas/querystring.cos.yaml +1 -0
- package/source/Annotation.ts +3 -2
- package/source/Context.ts +6 -4
- package/source/Directive.test.ts +7 -7
- package/source/Directive.ts +19 -46
- package/source/Endpoint.ts +55 -6
- package/source/Factory.ts +17 -9
- package/source/Gateway.ts +38 -53
- package/source/HTTP/Context.ts +89 -0
- package/source/HTTP/Server.ts +99 -121
- package/source/HTTP/Timing.ts +40 -0
- package/source/HTTP/exceptions.ts +7 -1
- package/source/HTTP/index.ts +1 -0
- package/source/HTTP/messages.test.ts +27 -8
- package/source/HTTP/messages.ts +32 -48
- package/source/Mapping.ts +12 -8
- package/source/Query.test.ts +1 -1
- package/source/Query.ts +35 -24
- package/source/RTD/Context.ts +7 -10
- package/source/RTD/Directives.ts +28 -4
- package/source/RTD/Endpoint.ts +6 -4
- package/source/RTD/Match.ts +2 -7
- package/source/RTD/Method.ts +7 -13
- package/source/RTD/Node.ts +13 -14
- package/source/RTD/Tree.ts +17 -16
- package/source/RTD/factory.ts +3 -6
- package/source/Tenant.ts +0 -8
- package/source/deployment.ts +33 -17
- package/source/directives/auth/Anonymous.ts +3 -2
- package/source/directives/auth/Authorization.ts +34 -21
- package/source/directives/auth/Delegate.ts +35 -0
- package/source/directives/auth/Incept.ts +13 -7
- package/source/directives/auth/Role.test.ts +53 -6
- package/source/directives/auth/Role.ts +27 -17
- package/source/directives/auth/Scheme.ts +2 -2
- package/source/directives/auth/types.ts +1 -1
- package/source/directives/cache/Cache.ts +5 -5
- package/source/directives/cache/Control.ts +48 -22
- package/source/directives/cache/types.ts +1 -1
- package/source/directives/cors/CORS.ts +18 -10
- package/source/directives/dev/Development.ts +4 -4
- package/source/directives/index.ts +6 -4
- package/source/directives/io/Directive.ts +11 -0
- package/source/directives/io/IO.ts +43 -0
- package/source/directives/io/Input.ts +50 -0
- package/source/directives/io/Message.ts +1 -0
- package/source/directives/io/Output.ts +69 -0
- package/source/directives/io/index.ts +3 -0
- package/source/directives/io/schemas.ts +12 -0
- package/source/directives/octets/Context.ts +5 -4
- package/source/directives/octets/Delete.ts +23 -11
- package/source/directives/octets/Directive.ts +10 -0
- package/source/directives/octets/Fetch.ts +33 -17
- package/source/directives/octets/List.ts +18 -8
- package/source/directives/octets/Octets.ts +9 -9
- package/source/directives/octets/Store.ts +29 -19
- package/source/directives/octets/Workflow.ts +12 -5
- package/source/directives/octets/types.ts +0 -7
- package/source/directives/octets/workflows/Workflow.ts +2 -2
- package/source/directives/require/Directive.ts +5 -0
- package/source/directives/require/Headers.ts +20 -0
- package/source/directives/require/Require.ts +28 -0
- package/source/directives/require/index.ts +3 -0
- package/source/directives/vary/Directive.ts +2 -1
- package/source/directives/vary/Embed.ts +14 -8
- package/source/directives/vary/Vary.ts +8 -6
- package/source/directives/vary/embeddings/Authority.ts +8 -0
- package/source/directives/vary/embeddings/Embedding.ts +2 -1
- package/source/directives/vary/embeddings/Header.ts +9 -7
- package/source/directives/vary/embeddings/Language.ts +2 -2
- package/source/directives/vary/embeddings/Parameter.ts +14 -0
- package/source/directives/vary/embeddings/index.ts +6 -4
- package/source/exceptions.ts +22 -11
- package/source/io.ts +2 -2
- package/source/root.ts +5 -0
- package/source/schemas.ts +1 -1
- package/transpiled/Annotation.d.ts +3 -2
- package/transpiled/Context.d.ts +6 -4
- package/transpiled/Directive.d.ts +8 -21
- package/transpiled/Directive.js +11 -14
- package/transpiled/Directive.js.map +1 -1
- package/transpiled/Endpoint.d.ts +7 -5
- package/transpiled/Endpoint.js +60 -2
- package/transpiled/Endpoint.js.map +1 -1
- package/transpiled/Factory.js +11 -4
- package/transpiled/Factory.js.map +1 -1
- package/transpiled/Gateway.d.ts +4 -8
- package/transpiled/Gateway.js +25 -35
- package/transpiled/Gateway.js.map +1 -1
- package/transpiled/HTTP/Context.d.ts +31 -0
- package/transpiled/HTTP/Context.js +60 -0
- package/transpiled/HTTP/Context.js.map +1 -0
- package/transpiled/HTTP/Server.d.ts +21 -9
- package/transpiled/HTTP/Server.js +98 -100
- package/transpiled/HTTP/Server.js.map +1 -1
- package/transpiled/HTTP/Timing.d.ts +10 -0
- package/transpiled/HTTP/Timing.js +29 -0
- package/transpiled/HTTP/Timing.js.map +1 -0
- package/transpiled/HTTP/exceptions.d.ts +4 -1
- package/transpiled/HTTP/exceptions.js +7 -1
- package/transpiled/HTTP/exceptions.js.map +1 -1
- package/transpiled/HTTP/index.d.ts +1 -0
- package/transpiled/HTTP/index.js +1 -0
- package/transpiled/HTTP/index.js.map +1 -1
- package/transpiled/HTTP/messages.d.ts +7 -21
- package/transpiled/HTTP/messages.js +24 -26
- package/transpiled/HTTP/messages.js.map +1 -1
- package/transpiled/Mapping.js +11 -8
- package/transpiled/Mapping.js.map +1 -1
- package/transpiled/Query.d.ts +1 -0
- package/transpiled/Query.js +21 -20
- package/transpiled/Query.js.map +1 -1
- package/transpiled/RTD/Context.d.ts +7 -6
- package/transpiled/RTD/Directives.d.ts +19 -4
- package/transpiled/RTD/Endpoint.d.ts +6 -4
- package/transpiled/RTD/Match.d.ts +2 -4
- package/transpiled/RTD/Method.d.ts +7 -7
- package/transpiled/RTD/Method.js.map +1 -1
- package/transpiled/RTD/Node.d.ts +4 -6
- package/transpiled/RTD/Node.js +2 -1
- package/transpiled/RTD/Node.js.map +1 -1
- package/transpiled/RTD/Tree.d.ts +6 -6
- package/transpiled/RTD/Tree.js +4 -1
- package/transpiled/RTD/Tree.js.map +1 -1
- package/transpiled/RTD/factory.d.ts +2 -4
- package/transpiled/RTD/factory.js +1 -1
- package/transpiled/RTD/factory.js.map +1 -1
- package/transpiled/Tenant.d.ts +0 -1
- package/transpiled/Tenant.js +0 -6
- package/transpiled/Tenant.js.map +1 -1
- package/transpiled/deployment.d.ts +1 -1
- package/transpiled/deployment.js +28 -15
- package/transpiled/deployment.js.map +1 -1
- package/transpiled/directives/auth/Anonymous.js +3 -4
- package/transpiled/directives/auth/Anonymous.js.map +1 -1
- package/transpiled/directives/auth/Authorization.d.ts +2 -3
- package/transpiled/directives/auth/Authorization.js +18 -11
- package/transpiled/directives/auth/Authorization.js.map +1 -1
- package/transpiled/directives/auth/Delegate.d.ts +8 -0
- package/transpiled/directives/auth/Delegate.js +29 -0
- package/transpiled/directives/auth/Delegate.js.map +1 -0
- package/transpiled/directives/auth/Incept.d.ts +1 -1
- package/transpiled/directives/auth/Incept.js +13 -7
- package/transpiled/directives/auth/Incept.js.map +1 -1
- package/transpiled/directives/auth/Role.d.ts +4 -1
- package/transpiled/directives/auth/Role.js +25 -17
- package/transpiled/directives/auth/Role.js.map +1 -1
- package/transpiled/directives/auth/Scheme.js +2 -2
- package/transpiled/directives/auth/Scheme.js.map +1 -1
- package/transpiled/directives/cache/Cache.d.ts +3 -3
- package/transpiled/directives/cache/Cache.js +3 -3
- package/transpiled/directives/cache/Cache.js.map +1 -1
- package/transpiled/directives/cache/Control.d.ts +5 -4
- package/transpiled/directives/cache/Control.js +32 -15
- package/transpiled/directives/cache/Control.js.map +1 -1
- package/transpiled/directives/cache/types.d.ts +1 -1
- package/transpiled/directives/cors/CORS.d.ts +2 -3
- package/transpiled/directives/cors/CORS.js +17 -10
- package/transpiled/directives/cors/CORS.js.map +1 -1
- package/transpiled/directives/dev/Development.d.ts +3 -3
- package/transpiled/directives/dev/Development.js +1 -1
- package/transpiled/directives/dev/Development.js.map +1 -1
- package/transpiled/directives/index.d.ts +2 -2
- package/transpiled/directives/index.js +5 -3
- package/transpiled/directives/index.js.map +1 -1
- package/transpiled/directives/io/Directive.d.ts +8 -0
- package/transpiled/directives/io/Directive.js +3 -0
- package/transpiled/directives/io/Directive.js.map +1 -0
- package/transpiled/directives/io/IO.d.ts +9 -0
- package/transpiled/directives/io/IO.js +33 -0
- package/transpiled/directives/io/IO.js.map +1 -0
- package/transpiled/directives/io/Input.d.ts +11 -0
- package/transpiled/directives/{octets/Permute.js → io/Input.js} +33 -21
- package/transpiled/directives/io/Input.js.map +1 -0
- package/transpiled/directives/io/Message.d.ts +1 -0
- package/transpiled/directives/io/Message.js +3 -0
- package/transpiled/directives/io/Message.js.map +1 -0
- package/transpiled/directives/io/Output.d.ts +13 -0
- package/transpiled/directives/io/Output.js +76 -0
- package/transpiled/directives/io/Output.js.map +1 -0
- package/transpiled/directives/io/index.d.ts +2 -0
- package/transpiled/directives/io/index.js +6 -0
- package/transpiled/directives/io/index.js.map +1 -0
- package/transpiled/directives/io/schemas.d.ts +7 -0
- package/transpiled/directives/io/schemas.js +14 -0
- package/transpiled/directives/io/schemas.js.map +1 -0
- package/transpiled/directives/octets/Context.d.ts +4 -4
- package/transpiled/directives/octets/Context.js +4 -2
- package/transpiled/directives/octets/Context.js.map +1 -1
- package/transpiled/directives/octets/Delete.d.ts +4 -3
- package/transpiled/directives/octets/Delete.js +22 -10
- package/transpiled/directives/octets/Delete.js.map +1 -1
- package/transpiled/directives/octets/Directive.d.ts +8 -0
- package/transpiled/directives/octets/Directive.js +8 -0
- package/transpiled/directives/octets/Directive.js.map +1 -0
- package/transpiled/directives/octets/Fetch.d.ts +4 -3
- package/transpiled/directives/octets/Fetch.js +31 -15
- package/transpiled/directives/octets/Fetch.js.map +1 -1
- package/transpiled/directives/octets/List.d.ts +4 -3
- package/transpiled/directives/octets/List.js +16 -7
- package/transpiled/directives/octets/List.js.map +1 -1
- package/transpiled/directives/octets/Octets.d.ts +4 -4
- package/transpiled/directives/octets/Octets.js +5 -5
- package/transpiled/directives/octets/Octets.js.map +1 -1
- package/transpiled/directives/octets/Store.d.ts +4 -3
- package/transpiled/directives/octets/Store.js +20 -13
- package/transpiled/directives/octets/Store.js.map +1 -1
- package/transpiled/directives/octets/Workflow.d.ts +4 -3
- package/transpiled/directives/octets/Workflow.js +11 -4
- package/transpiled/directives/octets/Workflow.js.map +1 -1
- package/transpiled/directives/octets/types.d.ts +0 -5
- package/transpiled/directives/octets/workflows/Workflow.d.ts +1 -1
- package/transpiled/directives/octets/workflows/Workflow.js +2 -2
- package/transpiled/directives/octets/workflows/Workflow.js.map +1 -1
- package/transpiled/directives/require/Directive.d.ts +4 -0
- package/transpiled/directives/require/Directive.js +3 -0
- package/transpiled/directives/require/Directive.js.map +1 -0
- package/transpiled/directives/require/Headers.d.ts +7 -0
- package/transpiled/directives/require/Headers.js +19 -0
- package/transpiled/directives/require/Headers.js.map +1 -0
- package/transpiled/directives/require/Require.d.ts +9 -0
- package/transpiled/directives/require/Require.js +27 -0
- package/transpiled/directives/require/Require.js.map +1 -0
- package/transpiled/directives/require/index.d.ts +2 -0
- package/transpiled/directives/require/index.js +6 -0
- package/transpiled/directives/require/index.js.map +1 -0
- package/transpiled/directives/vary/Directive.d.ts +2 -1
- package/transpiled/directives/vary/Embed.d.ts +2 -1
- package/transpiled/directives/vary/Embed.js +8 -6
- package/transpiled/directives/vary/Embed.js.map +1 -1
- package/transpiled/directives/vary/Vary.d.ts +3 -3
- package/transpiled/directives/vary/Vary.js +4 -4
- package/transpiled/directives/vary/Vary.js.map +1 -1
- package/transpiled/directives/vary/embeddings/Authority.d.ts +5 -0
- package/transpiled/directives/vary/embeddings/Authority.js +10 -0
- package/transpiled/directives/vary/embeddings/Authority.js.map +1 -0
- package/transpiled/directives/vary/embeddings/Embedding.d.ts +2 -1
- package/transpiled/directives/vary/embeddings/Header.js +9 -7
- package/transpiled/directives/vary/embeddings/Header.js.map +1 -1
- package/transpiled/directives/vary/embeddings/Language.js +2 -2
- package/transpiled/directives/vary/embeddings/Language.js.map +1 -1
- package/transpiled/directives/vary/embeddings/Parameter.d.ts +7 -0
- package/transpiled/directives/vary/embeddings/Parameter.js +14 -0
- package/transpiled/directives/vary/embeddings/Parameter.js.map +1 -0
- package/transpiled/directives/vary/embeddings/index.d.ts +2 -2
- package/transpiled/directives/vary/embeddings/index.js +8 -4
- package/transpiled/directives/vary/embeddings/index.js.map +1 -1
- package/transpiled/exceptions.d.ts +3 -2
- package/transpiled/exceptions.js +13 -7
- package/transpiled/exceptions.js.map +1 -1
- package/transpiled/io.d.ts +2 -2
- package/transpiled/root.js +5 -0
- package/transpiled/root.js.map +1 -1
- package/transpiled/schemas.d.ts +1 -1
- package/transpiled/schemas.js +2 -2
- package/transpiled/schemas.js.map +1 -1
- package/transpiled/tsconfig.tsbuildinfo +1 -1
- package/components/identity.basic/operations/create.d.ts +0 -10
- package/components/identity.basic/operations/create.js +0 -10
- package/components/identity.basic/operations/create.js.map +0 -1
- package/components/identity.basic/source/create.ts +0 -18
- package/components/identity.federation/operations/create.d.ts +0 -10
- package/components/identity.federation/operations/create.js.map +0 -1
- package/components/identity.federation/operations/schemas.d.ts +0 -59
- package/components/identity.federation/operations/schemas.js +0 -9
- package/components/identity.federation/operations/schemas.js.map +0 -1
- package/components/identity.federation/operations/types.js.map +0 -1
- package/components/identity.federation/source/schemas.ts +0 -61
- package/components/octets.storage/operations/permute.js +0 -7
- package/source/HTTP/Server.fixtures.ts +0 -40
- package/source/HTTP/Server.test.ts +0 -126
- package/source/directives/octets/Permute.ts +0 -37
- package/transpiled/HTTP/Server.fixtures.d.ts +0 -10
- package/transpiled/HTTP/Server.fixtures.js +0 -31
- package/transpiled/HTTP/Server.fixtures.js.map +0 -1
- package/transpiled/directives/octets/Permute.d.ts +0 -10
- package/transpiled/directives/octets/Permute.js.map +0 -1
package/features/dynamic.feature
CHANGED
|
@@ -11,12 +11,14 @@ Feature: Dynamic tree updates
|
|
|
11
11
|
"""yaml
|
|
12
12
|
exposition:
|
|
13
13
|
/:
|
|
14
|
+
io:output: true
|
|
14
15
|
isolated: true
|
|
15
16
|
GET: enumerate
|
|
16
17
|
"""
|
|
17
18
|
When the following request is received:
|
|
18
19
|
"""
|
|
19
20
|
GET /pots/ HTTP/1.1
|
|
21
|
+
host: nex.toa.io
|
|
20
22
|
"""
|
|
21
23
|
Then the following reply is sent:
|
|
22
24
|
"""
|
|
@@ -27,11 +29,13 @@ Feature: Dynamic tree updates
|
|
|
27
29
|
"""yaml
|
|
28
30
|
exposition:
|
|
29
31
|
/:
|
|
32
|
+
io:output: true
|
|
30
33
|
GET: enumerate
|
|
31
34
|
"""
|
|
32
35
|
When the following request is received:
|
|
33
36
|
"""
|
|
34
37
|
GET /pots/ HTTP/1.1
|
|
38
|
+
host: nex.toa.io
|
|
35
39
|
accept: application/yaml
|
|
36
40
|
"""
|
|
37
41
|
Then the following reply is sent:
|
|
@@ -44,23 +48,27 @@ Feature: Dynamic tree updates
|
|
|
44
48
|
"""yaml
|
|
45
49
|
exposition:
|
|
46
50
|
/:id:
|
|
51
|
+
io:output: true
|
|
47
52
|
GET: observe
|
|
48
53
|
"""
|
|
49
54
|
Then the `pots` is stopped
|
|
50
55
|
Then the `pots` is running with the following manifest:
|
|
51
56
|
"""yaml
|
|
52
57
|
exposition:
|
|
53
|
-
/:
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
58
|
+
/:
|
|
59
|
+
io:output: true
|
|
60
|
+
/:id:
|
|
61
|
+
GET: observe
|
|
62
|
+
/big:
|
|
63
|
+
GET:
|
|
64
|
+
endpoint: enumerate
|
|
65
|
+
query:
|
|
66
|
+
criteria: volume>200
|
|
60
67
|
"""
|
|
61
68
|
When the following request is received:
|
|
62
69
|
"""
|
|
63
70
|
GET /pots/big/ HTTP/1.1
|
|
71
|
+
host: nex.toa.io
|
|
64
72
|
accept: application/yaml
|
|
65
73
|
"""
|
|
66
74
|
Then the following reply is sent:
|
|
@@ -73,6 +81,7 @@ Feature: Dynamic tree updates
|
|
|
73
81
|
"""yaml
|
|
74
82
|
exposition:
|
|
75
83
|
/big:
|
|
84
|
+
io:output: true
|
|
76
85
|
GET:
|
|
77
86
|
endpoint: enumerate
|
|
78
87
|
query:
|
|
@@ -83,6 +92,7 @@ Feature: Dynamic tree updates
|
|
|
83
92
|
"""yaml
|
|
84
93
|
exposition:
|
|
85
94
|
/big:
|
|
95
|
+
io:output: true
|
|
86
96
|
GET:
|
|
87
97
|
endpoint: enumerate
|
|
88
98
|
query:
|
|
@@ -91,6 +101,7 @@ Feature: Dynamic tree updates
|
|
|
91
101
|
When the following request is received:
|
|
92
102
|
"""
|
|
93
103
|
GET /pots/big/?criteria=temperature>50 HTTP/1.1
|
|
104
|
+
host: nex.toa.io
|
|
94
105
|
accept: application/yaml
|
|
95
106
|
"""
|
|
96
107
|
Then the following reply is sent:
|
package/features/errors.feature
CHANGED
|
@@ -8,11 +8,14 @@ Feature: Errors
|
|
|
8
8
|
When the following request is received:
|
|
9
9
|
"""
|
|
10
10
|
GET <path> HTTP/1.1
|
|
11
|
-
|
|
11
|
+
host: nex.toa.io
|
|
12
|
+
accept: text/plain
|
|
12
13
|
"""
|
|
13
14
|
Then the following reply is sent:
|
|
14
15
|
"""
|
|
15
16
|
404 Not Found
|
|
17
|
+
|
|
18
|
+
Route not found
|
|
16
19
|
"""
|
|
17
20
|
Examples:
|
|
18
21
|
| path |
|
|
@@ -28,6 +31,7 @@ Feature: Errors
|
|
|
28
31
|
When the following request is received:
|
|
29
32
|
"""
|
|
30
33
|
GET /basic/greeter HTTP/1.1
|
|
34
|
+
host: nex.toa.io
|
|
31
35
|
accept: application/json
|
|
32
36
|
"""
|
|
33
37
|
Then the following reply is sent:
|
|
@@ -43,10 +47,11 @@ Feature: Errors
|
|
|
43
47
|
When the following request is received:
|
|
44
48
|
"""
|
|
45
49
|
PATCH /greeter/ HTTP/1.1
|
|
50
|
+
host: nex.toa.io
|
|
46
51
|
accept: application/yaml
|
|
47
52
|
"""
|
|
48
53
|
Then the following reply is sent:
|
|
49
|
-
"""
|
|
54
|
+
"""
|
|
50
55
|
405 Method Not Allowed
|
|
51
56
|
"""
|
|
52
57
|
|
|
@@ -54,10 +59,11 @@ Feature: Errors
|
|
|
54
59
|
When the following request is received:
|
|
55
60
|
"""
|
|
56
61
|
COPY /basic/greeter/ HTTP/1.1
|
|
62
|
+
host: nex.toa.io
|
|
57
63
|
accept: application/yaml
|
|
58
64
|
"""
|
|
59
65
|
Then the following reply is sent:
|
|
60
|
-
"""
|
|
66
|
+
"""
|
|
61
67
|
501 Not Implemented
|
|
62
68
|
"""
|
|
63
69
|
|
|
@@ -66,11 +72,12 @@ Feature: Errors
|
|
|
66
72
|
"""yaml
|
|
67
73
|
exposition:
|
|
68
74
|
/:
|
|
69
|
-
POST:
|
|
75
|
+
POST: create
|
|
70
76
|
"""
|
|
71
77
|
When the following request is received:
|
|
72
78
|
"""
|
|
73
79
|
POST /pots/ HTTP/1.1
|
|
80
|
+
host: nex.toa.io
|
|
74
81
|
accept: application/yaml
|
|
75
82
|
content-type: application/yaml
|
|
76
83
|
|
|
@@ -95,6 +102,7 @@ Feature: Errors
|
|
|
95
102
|
When the following request is received:
|
|
96
103
|
"""
|
|
97
104
|
GET /pots/?limit=1001 HTTP/1.1
|
|
105
|
+
host: nex.toa.io
|
|
98
106
|
accept: text/plain
|
|
99
107
|
"""
|
|
100
108
|
Then the following reply is sent:
|
|
@@ -118,6 +126,7 @@ Feature: Errors
|
|
|
118
126
|
When the following request is received:
|
|
119
127
|
"""
|
|
120
128
|
GET /pots/hot/?criteria=volume>500 HTTP/1.1
|
|
129
|
+
host: nex.toa.io
|
|
121
130
|
accept: text/plain
|
|
122
131
|
"""
|
|
123
132
|
Then the following reply is sent:
|
|
@@ -125,7 +134,7 @@ Feature: Errors
|
|
|
125
134
|
400 Bad Request
|
|
126
135
|
content-type: text/plain
|
|
127
136
|
|
|
128
|
-
Query criteria is closed
|
|
137
|
+
Query criteria is closed
|
|
129
138
|
"""
|
|
130
139
|
|
|
131
140
|
Scenario: Additional query parameters
|
|
@@ -139,6 +148,7 @@ Feature: Errors
|
|
|
139
148
|
When the following request is received:
|
|
140
149
|
"""
|
|
141
150
|
GET /pots/?foo=bar HTTP/1.1
|
|
151
|
+
host: nex.toa.io
|
|
142
152
|
accept: text/plain
|
|
143
153
|
"""
|
|
144
154
|
Then the following reply is sent:
|
|
@@ -158,6 +168,7 @@ Feature: Errors
|
|
|
158
168
|
When the following request is received:
|
|
159
169
|
"""
|
|
160
170
|
GET / HTTP/1.1
|
|
171
|
+
host: nex.toa.io
|
|
161
172
|
authorization: Basic
|
|
162
173
|
accept: text/plain
|
|
163
174
|
"""
|
|
@@ -180,6 +191,7 @@ Feature: Errors
|
|
|
180
191
|
When the following request is received:
|
|
181
192
|
"""
|
|
182
193
|
GET / HTTP/1.1
|
|
194
|
+
host: nex.toa.io
|
|
183
195
|
accept: text/plain
|
|
184
196
|
"""
|
|
185
197
|
Then the following reply is sent:
|
|
@@ -197,12 +209,14 @@ Feature: Errors
|
|
|
197
209
|
"""yaml
|
|
198
210
|
/:
|
|
199
211
|
GET:
|
|
212
|
+
io:output: true
|
|
200
213
|
anonymous: true
|
|
201
214
|
dev:stub: hello
|
|
202
215
|
"""
|
|
203
216
|
When the following request is received:
|
|
204
217
|
"""
|
|
205
218
|
GET / HTTP/1.1
|
|
219
|
+
host: nex.toa.io
|
|
206
220
|
accept: image/jpeg
|
|
207
221
|
"""
|
|
208
222
|
Then the following reply is sent:
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
Feature: Optimistic concurrency control
|
|
2
|
+
|
|
3
|
+
Scenario: Using `etag`
|
|
4
|
+
Given the `pots` is running with the following manifest:
|
|
5
|
+
"""yaml
|
|
6
|
+
exposition:
|
|
7
|
+
/:
|
|
8
|
+
io:output: true
|
|
9
|
+
POST: create
|
|
10
|
+
/:id:
|
|
11
|
+
GET: observe
|
|
12
|
+
PUT: transit
|
|
13
|
+
"""
|
|
14
|
+
When the following request is received:
|
|
15
|
+
"""
|
|
16
|
+
POST /pots/ HTTP/1.1
|
|
17
|
+
host: nex.toa.io
|
|
18
|
+
accept: application/yaml
|
|
19
|
+
content-type: application/yaml
|
|
20
|
+
|
|
21
|
+
title: Hello
|
|
22
|
+
volume: 1.5
|
|
23
|
+
"""
|
|
24
|
+
Then the following reply is sent:
|
|
25
|
+
"""
|
|
26
|
+
201 Created
|
|
27
|
+
etag: "1"
|
|
28
|
+
|
|
29
|
+
id: ${{ id }}
|
|
30
|
+
"""
|
|
31
|
+
When the following request is received:
|
|
32
|
+
"""
|
|
33
|
+
GET /pots/${{ id }}/ HTTP/1.1
|
|
34
|
+
host: nex.toa.io
|
|
35
|
+
"""
|
|
36
|
+
Then the following reply is sent:
|
|
37
|
+
"""
|
|
38
|
+
200 OK
|
|
39
|
+
etag: "1"
|
|
40
|
+
"""
|
|
41
|
+
When the following request is received:
|
|
42
|
+
"""
|
|
43
|
+
GET /pots/${{ id }}/ HTTP/1.1
|
|
44
|
+
host: nex.toa.io
|
|
45
|
+
if-none-match: "1"
|
|
46
|
+
"""
|
|
47
|
+
Then the following reply is sent:
|
|
48
|
+
"""
|
|
49
|
+
304 Not Modified
|
|
50
|
+
etag: "1"
|
|
51
|
+
"""
|
|
52
|
+
When the following request is received:
|
|
53
|
+
"""
|
|
54
|
+
PUT /pots/${{ id }}/ HTTP/1.1
|
|
55
|
+
host: nex.toa.io
|
|
56
|
+
content-type: application/yaml
|
|
57
|
+
if-match: "38"
|
|
58
|
+
|
|
59
|
+
volume: 2.5
|
|
60
|
+
"""
|
|
61
|
+
Then the following reply is sent:
|
|
62
|
+
"""
|
|
63
|
+
412 Precondition Failed
|
|
64
|
+
"""
|
|
65
|
+
When the following request is received:
|
|
66
|
+
"""
|
|
67
|
+
PUT /pots/${{ id }}/ HTTP/1.1
|
|
68
|
+
host: nex.toa.io
|
|
69
|
+
content-type: application/yaml
|
|
70
|
+
if-match: "1"
|
|
71
|
+
|
|
72
|
+
volume: 2.5
|
|
73
|
+
"""
|
|
74
|
+
Then the following reply is sent:
|
|
75
|
+
"""
|
|
76
|
+
200 OK
|
|
77
|
+
etag: "2"
|
|
78
|
+
"""
|
|
79
|
+
|
|
80
|
+
Scenario: Unexpected `if-match` format
|
|
81
|
+
Given the `pots` is running with the following manifest:
|
|
82
|
+
"""yaml
|
|
83
|
+
exposition:
|
|
84
|
+
/:
|
|
85
|
+
/:id:
|
|
86
|
+
PUT: transit
|
|
87
|
+
"""
|
|
88
|
+
When the following request is received:
|
|
89
|
+
"""
|
|
90
|
+
PUT /pots/fa177da8393544139915795816ad6b97/ HTTP/1.1
|
|
91
|
+
host: nex.toa.io
|
|
92
|
+
accept: text/plain
|
|
93
|
+
content-type: application/yaml
|
|
94
|
+
if-match: "oopsie"
|
|
95
|
+
|
|
96
|
+
volume: 2.5
|
|
97
|
+
"""
|
|
98
|
+
Then the following reply is sent:
|
|
99
|
+
"""
|
|
100
|
+
400 Bad Request
|
|
101
|
+
|
|
102
|
+
Invalid ETag.
|
|
103
|
+
"""
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
@security
|
|
2
|
+
Feature: Bans
|
|
3
|
+
|
|
4
|
+
Background:
|
|
5
|
+
Given the `identity.basic` database contains:
|
|
6
|
+
# developer:secret
|
|
7
|
+
# user:12345
|
|
8
|
+
| _id | authority | username | password | _deleted |
|
|
9
|
+
| efe3a65ebbee47ed95a73edd911ea328 | nex | developer | $2b$10$ZRSKkgZoGnrcTNA5w5eCcu3pxDzdTduhteVYXcp56AaNcilNkwJ.O | null |
|
|
10
|
+
| e8e4f9c2a68d419b861403d71fabc915 | nex | user | $2b$10$Frszmrmsz9iwSXzBbRRMKeDVKsNxozkrLNSsN.SnVC.KPxLtQr/bK | null |
|
|
11
|
+
And the `identity.bans` database is empty
|
|
12
|
+
|
|
13
|
+
Scenario: Banning an Identity
|
|
14
|
+
Given the `identity.roles` database contains:
|
|
15
|
+
| _id | identity | role |
|
|
16
|
+
| 775a648d054e4ce1a65f8f17e5b51803 | efe3a65ebbee47ed95a73edd911ea328 | system:identity:bans |
|
|
17
|
+
And the annotation:
|
|
18
|
+
"""yaml
|
|
19
|
+
/:
|
|
20
|
+
/:id:
|
|
21
|
+
io:output: true
|
|
22
|
+
auth:id: id
|
|
23
|
+
GET:
|
|
24
|
+
dev:stub:
|
|
25
|
+
access: granted!
|
|
26
|
+
"""
|
|
27
|
+
And the `identity.tokens` configuration:
|
|
28
|
+
"""yaml
|
|
29
|
+
refresh: 1
|
|
30
|
+
"""
|
|
31
|
+
When the following request is received:
|
|
32
|
+
"""
|
|
33
|
+
GET /e8e4f9c2a68d419b861403d71fabc915/ HTTP/1.1
|
|
34
|
+
host: nex.toa.io
|
|
35
|
+
authorization: Basic dXNlcjoxMjM0NQ==
|
|
36
|
+
"""
|
|
37
|
+
Then the following reply is sent:
|
|
38
|
+
"""
|
|
39
|
+
200 OK
|
|
40
|
+
authorization: Token ${{ token }}
|
|
41
|
+
"""
|
|
42
|
+
When the following request is received:
|
|
43
|
+
"""
|
|
44
|
+
PUT /identity/bans/e8e4f9c2a68d419b861403d71fabc915/ HTTP/1.1
|
|
45
|
+
host: nex.toa.io
|
|
46
|
+
authorization: Basic ZGV2ZWxvcGVyOnNlY3JldA==
|
|
47
|
+
content-type: application/yaml
|
|
48
|
+
|
|
49
|
+
banned: true
|
|
50
|
+
comment: Bye bye
|
|
51
|
+
"""
|
|
52
|
+
Then the following reply is sent:
|
|
53
|
+
"""
|
|
54
|
+
200 OK
|
|
55
|
+
"""
|
|
56
|
+
# accessing a resource with a banned Identity
|
|
57
|
+
When the following request is received:
|
|
58
|
+
"""
|
|
59
|
+
GET /e8e4f9c2a68d419b861403d71fabc915/ HTTP/1.1
|
|
60
|
+
host: nex.toa.io
|
|
61
|
+
authorization: Basic dXNlcjoxMjM0NQ==
|
|
62
|
+
"""
|
|
63
|
+
Then the following reply is sent:
|
|
64
|
+
"""
|
|
65
|
+
401 Unauthorized
|
|
66
|
+
"""
|
|
67
|
+
Then after 1 second
|
|
68
|
+
When the following request is received:
|
|
69
|
+
"""
|
|
70
|
+
GET /e8e4f9c2a68d419b861403d71fabc915/ HTTP/1.1
|
|
71
|
+
host: nex.toa.io
|
|
72
|
+
authorization: Token ${{ token }}
|
|
73
|
+
"""
|
|
74
|
+
Then the following reply is sent:
|
|
75
|
+
"""
|
|
76
|
+
401 Unauthorized
|
|
77
|
+
"""
|
|
78
|
+
When the following request is received:
|
|
79
|
+
"""
|
|
80
|
+
PUT /identity/bans/e8e4f9c2a68d419b861403d71fabc915/ HTTP/1.1
|
|
81
|
+
host: nex.toa.io
|
|
82
|
+
authorization: Basic ZGV2ZWxvcGVyOnNlY3JldA==
|
|
83
|
+
content-type: application/yaml
|
|
84
|
+
|
|
85
|
+
banned: false
|
|
86
|
+
"""
|
|
87
|
+
Then the following reply is sent:
|
|
88
|
+
"""
|
|
89
|
+
200 OK
|
|
90
|
+
"""
|
|
91
|
+
When the following request is received:
|
|
92
|
+
"""
|
|
93
|
+
GET /e8e4f9c2a68d419b861403d71fabc915/ HTTP/1.1
|
|
94
|
+
host: nex.toa.io
|
|
95
|
+
authorization: Basic dXNlcjoxMjM0NQ==
|
|
96
|
+
"""
|
|
97
|
+
Then the following reply is sent:
|
|
98
|
+
"""
|
|
99
|
+
200 OK
|
|
100
|
+
|
|
101
|
+
authorization: Token ${{ new_token }}
|
|
102
|
+
"""
|
|
103
|
+
# re-ban
|
|
104
|
+
When the following request is received:
|
|
105
|
+
"""
|
|
106
|
+
PUT /identity/bans/e8e4f9c2a68d419b861403d71fabc915/ HTTP/1.1
|
|
107
|
+
host: nex.toa.io
|
|
108
|
+
authorization: Basic ZGV2ZWxvcGVyOnNlY3JldA==
|
|
109
|
+
content-type: application/yaml
|
|
110
|
+
|
|
111
|
+
banned: true
|
|
112
|
+
"""
|
|
113
|
+
Then the following reply is sent:
|
|
114
|
+
"""
|
|
115
|
+
200 OK
|
|
116
|
+
"""
|
|
117
|
+
When the following request is received:
|
|
118
|
+
"""
|
|
119
|
+
GET /e8e4f9c2a68d419b861403d71fabc915/ HTTP/1.1
|
|
120
|
+
host: nex.toa.io
|
|
121
|
+
authorization: Basic dXNlcjoxMjM0NQ==
|
|
122
|
+
"""
|
|
123
|
+
Then the following reply is sent:
|
|
124
|
+
"""
|
|
125
|
+
401 Unauthorized
|
|
126
|
+
"""
|
|
127
|
+
Then after 1 second
|
|
128
|
+
When the following request is received:
|
|
129
|
+
"""
|
|
130
|
+
GET /e8e4f9c2a68d419b861403d71fabc915/ HTTP/1.1
|
|
131
|
+
host: nex.toa.io
|
|
132
|
+
authorization: Token ${{ new_token }}
|
|
133
|
+
"""
|
|
134
|
+
Then the following reply is sent:
|
|
135
|
+
"""
|
|
136
|
+
401 Unauthorized
|
|
137
|
+
"""
|