@toa.io/extensions.exposition 1.0.0-alpha.291 → 1.0.0-alpha.293
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/identity.basic/package.json +8 -0
- package/components/identity.federation/package.json +8 -0
- package/components/identity.passkeys/package.json +8 -0
- package/components/identity.tokens/package.json +10 -0
- package/package.json +25 -13
- package/transpiled/Discovery/Explorer.js +1 -1
- package/transpiled/Discovery/Explorer.js.map +1 -1
- package/transpiled/Discovery/Site.js +1 -1
- package/transpiled/Discovery/Site.js.map +1 -1
- package/transpiled/Discovery/trunk.js +1 -1
- package/transpiled/Discovery/trunk.js.map +1 -1
- package/transpiled/Endpoint.js +3 -0
- package/transpiled/Endpoint.js.map +1 -1
- package/transpiled/Factory.js +1 -1
- package/transpiled/Factory.js.map +1 -1
- package/transpiled/Gateway.js +1 -1
- package/transpiled/Gateway.js.map +1 -1
- package/transpiled/HTTP/Server.d.ts +1 -1
- package/transpiled/HTTP/Server.js +1 -1
- package/transpiled/HTTP/Server.js.map +1 -1
- package/transpiled/Introspection.d.ts +6 -0
- package/transpiled/Introspection.js +1 -0
- package/transpiled/Introspection.js.map +1 -1
- package/transpiled/MCP/Server.d.ts +1 -1
- package/transpiled/MCP/Server.js +1 -1
- package/transpiled/MCP/Server.js.map +1 -1
- package/transpiled/MCP/discover.d.ts +1 -1
- package/transpiled/MCP/schema.js +2 -2
- package/transpiled/Query.d.ts +2 -12
- package/transpiled/Query.js +3 -13
- package/transpiled/Query.js.map +1 -1
- package/transpiled/RPC/Dispatcher.d.ts +1 -1
- package/transpiled/RPC/Dispatcher.js +2 -2
- package/transpiled/RPC/Dispatcher.js.map +1 -1
- package/transpiled/RTD/Endpoint.d.ts +2 -3
- package/transpiled/RTD/Tree.js +1 -1
- package/transpiled/RTD/Tree.js.map +1 -1
- package/transpiled/RTD/factory.js +1 -1
- package/transpiled/RTD/factory.js.map +1 -1
- package/transpiled/RTD/syntax/index.d.ts +1 -2
- package/transpiled/RTD/syntax/index.js +1 -2
- package/transpiled/RTD/syntax/index.js.map +1 -1
- package/transpiled/Tenant.js +1 -1
- package/transpiled/Tenant.js.map +1 -1
- package/transpiled/directives/auth/Authorization.js +1 -1
- package/transpiled/directives/auth/Authorization.js.map +1 -1
- package/transpiled/directives/io/IO.js +1 -1
- package/transpiled/directives/io/IO.js.map +1 -1
- package/transpiled/directives/oauth/documents.d.ts +1 -1
- package/transpiled/index.d.ts +0 -2
- package/transpiled/index.js +0 -2
- package/transpiled/index.js.map +1 -1
- package/transpiled/service.js +1 -1
- package/transpiled/service.js.map +1 -1
- package/ui/dist/_app/immutable/assets/0.Cu0AnR_8.css +2 -0
- package/ui/dist/_app/immutable/assets/2.BghF56l_.css +1 -0
- package/ui/dist/_app/immutable/assets/ui.C8aD6zzF.css +1 -0
- package/ui/dist/_app/immutable/chunks/B8GvXrmq.js +1 -0
- package/ui/dist/_app/immutable/chunks/BVDJTrf4.js +3 -0
- package/ui/dist/_app/immutable/chunks/D6q28_Ok.js +86 -0
- package/ui/dist/_app/immutable/chunks/{D9tE1yyO.js → DVlaUfVU.js} +1 -1
- package/ui/dist/_app/immutable/chunks/DpB73ZB6.js +6 -0
- package/ui/dist/_app/immutable/entry/app.CTava8yn.js +2 -0
- package/ui/dist/_app/immutable/entry/start.yWN0gSLA.js +1 -0
- package/ui/dist/_app/immutable/nodes/0.HKRDBYrC.js +1 -0
- package/ui/dist/_app/immutable/nodes/1.CLa0ydOi.js +1 -0
- package/ui/dist/_app/immutable/nodes/2.C9Kaym8C.js +8 -0
- package/ui/dist/_app/immutable/nodes/3.C1X4_rXZ.js +1 -0
- package/ui/dist/_app/immutable/nodes/4.DdzDIi9E.js +1 -0
- package/ui/dist/_app/immutable/nodes/5.DpbmCMdw.js +1 -0
- package/ui/dist/_app/version.json +1 -1
- package/ui/dist/index.html +12 -12
- package/CHANGELOG.md +0 -35
- package/components/identity.bans/tsconfig.tsbuildinfo +0 -1
- package/components/identity.basic/source/lib/credentials.test.ts +0 -18
- package/components/identity.basic/tsconfig.tsbuildinfo +0 -1
- package/components/identity.clients/source/lib/canonical.test.ts +0 -43
- package/components/identity.clients/source/lib/cimd.test.ts +0 -122
- package/components/identity.clients/source/lib/redirect.test.ts +0 -47
- package/components/identity.clients/tsconfig.tsbuildinfo +0 -1
- package/components/identity.credentials/source/list.test.ts +0 -70
- package/components/identity.credentials/tsconfig.tsbuildinfo +0 -1
- package/components/identity.federation/source/lib/discovery.test.ts +0 -60
- package/components/identity.federation/source/list.test.ts +0 -41
- package/components/identity.federation/tsconfig.tsbuildinfo +0 -1
- package/components/identity.grants/tsconfig.tsbuildinfo +0 -1
- package/components/identity.keys/tsconfig.tsbuildinfo +0 -1
- package/components/identity.otp/tsconfig.tsbuildinfo +0 -1
- package/components/identity.passkeys/source/errors.test.ts +0 -34
- package/components/identity.passkeys/source/webauthn.test.ts +0 -26
- package/components/identity.passkeys/tsconfig.tsbuildinfo +0 -1
- package/components/identity.roles/tsconfig.tsbuildinfo +0 -1
- package/components/identity.tokens/source/authenticate.test.ts +0 -112
- package/components/identity.tokens/source/decrypt.test.ts +0 -216
- package/components/identity.tokens/source/encrypt.test.ts +0 -150
- package/components/identity.tokens/source/issue.test.ts +0 -73
- package/components/identity.tokens/source/lib/form.test.ts +0 -25
- package/components/identity.tokens/source/lib/paseto.test.ts +0 -62
- package/components/identity.tokens/tsconfig.tsbuildinfo +0 -1
- package/context.toa.yaml +0 -31
- package/cucumber.mjs +0 -7
- package/documentation/.assets/ia3-dark.jpg +0 -0
- package/documentation/.assets/ia3-light.jpg +0 -0
- package/documentation/.assets/overview-dark.jpg +0 -0
- package/documentation/.assets/overview-light.jpg +0 -0
- package/documentation/.assets/role-scopes-dark.jpg +0 -0
- package/documentation/.assets/role-scopes-light.jpg +0 -0
- package/documentation/.assets/rtd-dark.jpg +0 -0
- package/documentation/.assets/rtd-light.jpg +0 -0
- package/documentation/access.md +0 -350
- package/documentation/authorities.md +0 -51
- package/documentation/cache.md +0 -72
- package/documentation/components.md +0 -472
- package/documentation/consent.md +0 -101
- package/documentation/credentials.md +0 -88
- package/documentation/dev.md +0 -30
- package/documentation/discovery.md +0 -81
- package/documentation/flow.md +0 -44
- package/documentation/help.md +0 -122
- package/documentation/identity.md +0 -304
- package/documentation/introspection.md +0 -123
- package/documentation/io.md +0 -167
- package/documentation/ip.md +0 -24
- package/documentation/map.md +0 -123
- package/documentation/mcp.md +0 -183
- package/documentation/notes/desync.jpg +0 -0
- package/documentation/notes/peers.md +0 -59
- package/documentation/notes/sse.md +0 -71
- package/documentation/notes/throttling.md +0 -122
- package/documentation/oauth.md +0 -180
- package/documentation/octets.md +0 -334
- package/documentation/passkeys.md +0 -11
- package/documentation/protocol.md +0 -120
- package/documentation/query.md +0 -324
- package/documentation/require.md +0 -15
- package/documentation/rpc.md +0 -154
- package/documentation/tracing.md +0 -70
- package/documentation/tree.md +0 -199
- package/features/access.feature +0 -596
- package/features/annotation.feature +0 -32
- package/features/auth.assert.feature +0 -55
- package/features/auth.bearer.feature +0 -120
- package/features/auth.claims.feature +0 -171
- package/features/auth.incept.feature +0 -166
- package/features/auth.input.feature +0 -59
- package/features/authorities.basic.feature +0 -141
- package/features/authorities.feature +0 -71
- package/features/authorities.federation.feature +0 -100
- package/features/authorities.tokens.feature +0 -117
- package/features/body.feature +0 -76
- package/features/cache.feature +0 -368
- package/features/configuration.feature +0 -206
- package/features/cors.feature +0 -127
- package/features/credentials.feature +0 -106
- package/features/debug.feature +0 -34
- package/features/dev.feature +0 -90
- package/features/directives.feature +0 -61
- package/features/discovery.feature +0 -213
- package/features/discovery.ui.feature +0 -213
- package/features/dynamic.feature +0 -192
- package/features/errors.feature +0 -258
- package/features/etag.feature +0 -239
- package/features/flow.feature +0 -148
- package/features/help.feature +0 -512
- package/features/identity.bans.feature +0 -200
- package/features/identity.basic.feature +0 -666
- package/features/identity.feature +0 -240
- package/features/identity.federation.feature +0 -396
- package/features/identity.otp.feature +0 -142
- package/features/identity.roles.feature +0 -568
- package/features/identity.tokens.custom.feature +0 -430
- package/features/identity.tokens.feature +0 -131
- package/features/interruptions.feature +0 -20
- package/features/introspection.feature +0 -565
- package/features/introspection.map.feature +0 -108
- package/features/io.feature +0 -204
- package/features/io.throttle.feature +0 -166
- package/features/map.feature +0 -360
- package/features/mcp.feature +0 -753
- package/features/methods.feature +0 -48
- package/features/oauth.clients.feature +0 -195
- package/features/oauth.discovery.feature +0 -164
- package/features/oauth.grants.feature +0 -301
- package/features/octets.cloudinary.feature +0 -233
- package/features/octets.download.feature +0 -194
- package/features/octets.entries.feature +0 -83
- package/features/octets.feature +0 -306
- package/features/octets.head.feature +0 -40
- package/features/octets.location.feature +0 -83
- package/features/octets.meta.feature +0 -117
- package/features/octets.workflows.feature +0 -565
- package/features/passkeys.feature +0 -66
- package/features/probes.feature +0 -18
- package/features/query.feature +0 -389
- package/features/realtime.feature +0 -34
- package/features/require.feature +0 -66
- package/features/response.feature +0 -103
- package/features/routes.feature +0 -224
- package/features/rpc.feature +0 -429
- package/features/server.feature +0 -21
- package/features/site/_app/immutable/asset.js +0 -1
- package/features/site/favicon.ico +0 -0
- package/features/site/index.html +0 -10
- package/features/steps/.env.example +0 -5
- package/features/steps/Captures.ts +0 -20
- package/features/steps/Cloudinary.ts +0 -12
- package/features/steps/Common.ts +0 -38
- package/features/steps/Components.ts +0 -115
- package/features/steps/Database.ts +0 -106
- package/features/steps/Gateway.ts +0 -240
- package/features/steps/HTTP.ts +0 -96
- package/features/steps/IDP.ts +0 -361
- package/features/steps/Identity.ts +0 -54
- package/features/steps/OTP.ts +0 -42
- package/features/steps/Parameters.ts +0 -162
- package/features/steps/Probe.ts +0 -38
- package/features/steps/Realtime.ts +0 -175
- package/features/steps/Workspace.ts +0 -48
- package/features/steps/components/audit/manifest.toa.yaml +0 -20
- package/features/steps/components/audit/operations/record.js +0 -5
- package/features/steps/components/echo/manifest.toa.yaml +0 -59
- package/features/steps/components/echo/operations/affect.js +0 -3
- package/features/steps/components/echo/operations/compute.js +0 -3
- package/features/steps/components/echo/operations/echo.js +0 -3
- package/features/steps/components/echo/operations/error.js +0 -7
- package/features/steps/components/echo/operations/identity.js +0 -3
- package/features/steps/components/echo/operations/parameters.js +0 -3
- package/features/steps/components/echo/operations/ping.js +0 -3
- package/features/steps/components/echo/operations/unwrap.js +0 -3
- package/features/steps/components/echo.beacon/manifest.toa.yaml +0 -2
- package/features/steps/components/echo.beacon/operations/hello.js +0 -3
- package/features/steps/components/greeter/manifest.toa.yaml +0 -5
- package/features/steps/components/greeter/operations/greet.js +0 -3
- package/features/steps/components/notify/manifest.toa.yaml +0 -20
- package/features/steps/components/notify/operations/send.js +0 -5
- package/features/steps/components/octets.tester/manifest.toa.yaml +0 -73
- package/features/steps/components/octets.tester/operations/authority.js +0 -3
- package/features/steps/components/octets.tester/operations/bar.js +0 -9
- package/features/steps/components/octets.tester/operations/baz.js +0 -9
- package/features/steps/components/octets.tester/operations/concat.js +0 -5
- package/features/steps/components/octets.tester/operations/echo.js +0 -5
- package/features/steps/components/octets.tester/operations/err.js +0 -14
- package/features/steps/components/octets.tester/operations/foo.js +0 -5
- package/features/steps/components/octets.tester/operations/id.js +0 -5
- package/features/steps/components/octets.tester/operations/identity.js +0 -5
- package/features/steps/components/octets.tester/operations/lenna.png +0 -0
- package/features/steps/components/octets.tester/operations/redirect.js +0 -17
- package/features/steps/components/octets.tester/operations/yex.js +0 -14
- package/features/steps/components/octets.tester/operations/yield.js +0 -11
- package/features/steps/components/orders/manifest.toa.yaml +0 -30
- package/features/steps/components/orders/operations/create.js +0 -7
- package/features/steps/components/pots/manifest.toa.yaml +0 -91
- package/features/steps/components/pots/migrations/0002-indexes.yaml +0 -4
- package/features/steps/components/pricing/manifest.toa.yaml +0 -13
- package/features/steps/components/pricing/operations/quote.js +0 -3
- package/features/steps/components/sequences/manifest.toa.yaml +0 -11
- package/features/steps/components/sequences/operations/numbers.js +0 -5
- package/features/steps/components/sequences/operations/tokens.js +0 -14
- package/features/steps/components/users/manifest.toa.yaml +0 -30
- package/features/steps/components/users/operations/create.js +0 -11
- package/features/steps/components/users.properties/manifest.toa.yaml +0 -22
- package/features/steps/map.ts +0 -30
- package/features/steps/tsconfig.json +0 -9
- package/features/streams.feature +0 -35
- package/features/timestamps.feature +0 -41
- package/features/timing.feature +0 -49
- package/features/tracing.feature +0 -123
- package/schemas/annotation.cos.yaml +0 -125
- package/schemas/call.cos.yaml +0 -18
- package/schemas/directive.cos.yaml +0 -7
- package/schemas/method.cos.yaml +0 -23
- package/schemas/node.cos.yaml +0 -22
- package/schemas/query.cos.yaml +0 -31
- package/schemas/querystring.cos.yaml +0 -19
- package/schemas/range.cos.yaml +0 -10
- package/schemas/route.cos.yaml +0 -6
- package/source/Annotation.ts +0 -89
- package/source/Branch.test.ts +0 -40
- package/source/Branch.ts +0 -44
- package/source/Composition.ts +0 -51
- package/source/Context.ts +0 -11
- package/source/Directive.test.ts +0 -199
- package/source/Directive.ts +0 -248
- package/source/Discovery/Explorer.ts +0 -34
- package/source/Discovery/Site.test.ts +0 -147
- package/source/Discovery/Site.ts +0 -202
- package/source/Discovery/index.ts +0 -3
- package/source/Discovery/tree.test.ts +0 -175
- package/source/Discovery/tree.ts +0 -77
- package/source/Discovery/trunk.ts +0 -33
- package/source/Endpoint.test.ts +0 -67
- package/source/Endpoint.ts +0 -157
- package/source/Factory.ts +0 -42
- package/source/Gateway.ts +0 -390
- package/source/HTTP/Context.ts +0 -143
- package/source/HTTP/Probe.ts +0 -99
- package/source/HTTP/Server.ts +0 -430
- package/source/HTTP/Timing.ts +0 -14
- package/source/HTTP/address.test.ts +0 -28
- package/source/HTTP/address.ts +0 -16
- package/source/HTTP/exceptions.ts +0 -99
- package/source/HTTP/formats/form.ts +0 -21
- package/source/HTTP/formats/index.ts +0 -36
- package/source/HTTP/formats/json.ts +0 -14
- package/source/HTTP/formats/msgpack.ts +0 -14
- package/source/HTTP/formats/text.ts +0 -10
- package/source/HTTP/formats/yaml.test.ts +0 -22
- package/source/HTTP/formats/yaml.ts +0 -40
- package/source/HTTP/index.ts +0 -6
- package/source/HTTP/messages.test.ts +0 -196
- package/source/HTTP/messages.ts +0 -186
- package/source/HTTP/types.ts +0 -39
- package/source/Interception.ts +0 -37
- package/source/Introspection.ts +0 -179
- package/source/MCP/Server.ts +0 -335
- package/source/MCP/discover.ts +0 -51
- package/source/MCP/errors.ts +0 -80
- package/source/MCP/index.ts +0 -1
- package/source/MCP/schema.test.ts +0 -91
- package/source/MCP/schema.ts +0 -94
- package/source/MCP/tools.ts +0 -144
- package/source/MCP/types.ts +0 -84
- package/source/Mapping.ts +0 -101
- package/source/Query.test.ts +0 -54
- package/source/Query.ts +0 -277
- package/source/RPC/Context.ts +0 -75
- package/source/RPC/Dispatcher.ts +0 -150
- package/source/RPC/errors.test.ts +0 -77
- package/source/RPC/errors.ts +0 -82
- package/source/RPC/index.ts +0 -1
- package/source/RPC/names.test.ts +0 -141
- package/source/RPC/names.ts +0 -176
- package/source/RPC/types.ts +0 -34
- package/source/RTD/Context.ts +0 -16
- package/source/RTD/Directives.ts +0 -126
- package/source/RTD/Endpoint.ts +0 -27
- package/source/RTD/Match.ts +0 -11
- package/source/RTD/Method.ts +0 -39
- package/source/RTD/Node.ts +0 -169
- package/source/RTD/Route.ts +0 -93
- package/source/RTD/Tree.ts +0 -137
- package/source/RTD/expiration.test.ts +0 -81
- package/source/RTD/factory.ts +0 -105
- package/source/RTD/index.ts +0 -8
- package/source/RTD/segment.test.ts +0 -35
- package/source/RTD/segment.ts +0 -51
- package/source/RTD/syntax/index.ts +0 -2
- package/source/RTD/syntax/parse.test.ts +0 -196
- package/source/RTD/syntax/parse.ts +0 -171
- package/source/RTD/syntax/types.ts +0 -69
- package/source/RTD/walk.test.ts +0 -147
- package/source/Remotes.test.ts +0 -79
- package/source/Remotes.ts +0 -39
- package/source/Tenant.ts +0 -73
- package/source/const.ts +0 -45
- package/source/deployment.ts +0 -96
- package/source/directives/auth/Anonymous.test.ts +0 -70
- package/source/directives/auth/Anonymous.ts +0 -36
- package/source/directives/auth/Anyone.ts +0 -23
- package/source/directives/auth/Assert.ts +0 -43
- package/source/directives/auth/Authorization.test.ts +0 -24
- package/source/directives/auth/Authorization.ts +0 -388
- package/source/directives/auth/Delegate.test.ts +0 -36
- package/source/directives/auth/Delegate.ts +0 -54
- package/source/directives/auth/Echo.ts +0 -24
- package/source/directives/auth/Federation.ts +0 -104
- package/source/directives/auth/Id.ts +0 -37
- package/source/directives/auth/Incept.ts +0 -117
- package/source/directives/auth/Input.ts +0 -92
- package/source/directives/auth/Role.test.ts +0 -147
- package/source/directives/auth/Role.ts +0 -99
- package/source/directives/auth/Rule.ts +0 -59
- package/source/directives/auth/Scheme.ts +0 -31
- package/source/directives/auth/create.ts +0 -11
- package/source/directives/auth/index.ts +0 -3
- package/source/directives/auth/schemes.test.ts +0 -18
- package/source/directives/auth/schemes.ts +0 -39
- package/source/directives/auth/split.ts +0 -14
- package/source/directives/auth/types.ts +0 -75
- package/source/directives/cache/Cache.ts +0 -92
- package/source/directives/cache/Control.ts +0 -81
- package/source/directives/cache/Exact.ts +0 -7
- package/source/directives/cache/etag.ts +0 -38
- package/source/directives/cache/index.ts +0 -3
- package/source/directives/cache/types.ts +0 -9
- package/source/directives/cors/CORS.test.ts +0 -75
- package/source/directives/cors/CORS.ts +0 -88
- package/source/directives/cors/index.ts +0 -3
- package/source/directives/dev/Development.ts +0 -41
- package/source/directives/dev/Faulty.ts +0 -31
- package/source/directives/dev/Sleep.ts +0 -53
- package/source/directives/dev/Stub.ts +0 -14
- package/source/directives/dev/Throw.ts +0 -14
- package/source/directives/dev/index.ts +0 -3
- package/source/directives/dev/types.ts +0 -5
- package/source/directives/flow/Compose.ts +0 -98
- package/source/directives/flow/Fetch.ts +0 -86
- package/source/directives/flow/Flow.ts +0 -43
- package/source/directives/flow/index.ts +0 -3
- package/source/directives/flow/types.ts +0 -7
- package/source/directives/help/Family.ts +0 -122
- package/source/directives/help/Help.test.ts +0 -227
- package/source/directives/help/Help.ts +0 -47
- package/source/directives/help/Parameters.ts +0 -47
- package/source/directives/help/described.ts +0 -57
- package/source/directives/help/index.ts +0 -45
- package/source/directives/index.ts +0 -33
- package/source/directives/io/Directive.ts +0 -17
- package/source/directives/io/IO.ts +0 -118
- package/source/directives/io/Input.ts +0 -55
- package/source/directives/io/Message.ts +0 -1
- package/source/directives/io/Output.ts +0 -81
- package/source/directives/io/Status.test.ts +0 -88
- package/source/directives/io/Status.ts +0 -47
- package/source/directives/io/Throttle.ts +0 -30
- package/source/directives/io/index.ts +0 -3
- package/source/directives/io/lib/throttle/Configuration.test.ts +0 -72
- package/source/directives/io/lib/throttle/Configuration.ts +0 -68
- package/source/directives/io/lib/throttle/Keys.ts +0 -53
- package/source/directives/io/lib/throttle/Quotas.test.ts +0 -411
- package/source/directives/io/lib/throttle/Quotas.ts +0 -190
- package/source/directives/io/lib/throttle/Sync.test.ts +0 -163
- package/source/directives/io/lib/throttle/Sync.ts +0 -93
- package/source/directives/io/lib/throttle/Warning.test.ts +0 -32
- package/source/directives/io/lib/throttle/Warning.ts +0 -29
- package/source/directives/io/lib/throttle/components/Component.ts +0 -7
- package/source/directives/io/lib/throttle/components/IP.ts +0 -30
- package/source/directives/io/lib/throttle/components/Identity.ts +0 -19
- package/source/directives/io/lib/throttle/components/Path.ts +0 -8
- package/source/directives/io/lib/throttle/components/Route.ts +0 -19
- package/source/directives/io/lib/throttle/components/Segment.ts +0 -19
- package/source/directives/io/lib/throttle/components/index.ts +0 -19
- package/source/directives/io/lib/throttle/conditions/Condition.ts +0 -5
- package/source/directives/io/lib/throttle/conditions/Status.ts +0 -17
- package/source/directives/io/lib/throttle/conditions/index.ts +0 -11
- package/source/directives/io/lib/throttle/index.ts +0 -4
- package/source/directives/io/schemas.test.ts +0 -40
- package/source/directives/io/schemas.ts +0 -16
- package/source/directives/map/Authority.ts +0 -15
- package/source/directives/map/Buffer.ts +0 -15
- package/source/directives/map/Claims.ts +0 -63
- package/source/directives/map/Directive.ts +0 -4
- package/source/directives/map/Headers.ts +0 -60
- package/source/directives/map/Language.ts +0 -45
- package/source/directives/map/Languages.ts +0 -17
- package/source/directives/map/Map.ts +0 -85
- package/source/directives/map/Mapping.ts +0 -45
- package/source/directives/map/Properties.ts +0 -15
- package/source/directives/map/Segments.ts +0 -52
- package/source/directives/map/index.ts +0 -3
- package/source/directives/mcp/MCP.ts +0 -33
- package/source/directives/mcp/Tool.test.ts +0 -56
- package/source/directives/mcp/Tool.ts +0 -32
- package/source/directives/mcp/index.ts +0 -6
- package/source/directives/oauth/Discovery.ts +0 -66
- package/source/directives/oauth/documents.ts +0 -110
- package/source/directives/oauth/index.ts +0 -3
- package/source/directives/octets/Context.ts +0 -23
- package/source/directives/octets/Delete.ts +0 -96
- package/source/directives/octets/Directive.ts +0 -21
- package/source/directives/octets/Get.ts +0 -88
- package/source/directives/octets/Octets.ts +0 -82
- package/source/directives/octets/Put.ts +0 -186
- package/source/directives/octets/Workflow.ts +0 -60
- package/source/directives/octets/bytes.test.ts +0 -33
- package/source/directives/octets/bytes.ts +0 -18
- package/source/directives/octets/index.ts +0 -3
- package/source/directives/octets/schemas.test.ts +0 -20
- package/source/directives/octets/schemas.ts +0 -15
- package/source/directives/octets/types.ts +0 -9
- package/source/directives/octets/workflows/Execution.ts +0 -130
- package/source/directives/octets/workflows/Workflow.ts +0 -51
- package/source/directives/octets/workflows/index.ts +0 -1
- package/source/directives/require/Directive.ts +0 -5
- package/source/directives/require/Headers.ts +0 -19
- package/source/directives/require/Require.ts +0 -27
- package/source/directives/require/index.ts +0 -3
- package/source/discovery.ts +0 -1
- package/source/exceptions.ts +0 -47
- package/source/index.ts +0 -12
- package/source/io.ts +0 -4
- package/source/manifest.test.ts +0 -56
- package/source/manifest.ts +0 -56
- package/source/octets.d.ts +0 -17
- package/source/root.ts +0 -59
- package/source/schemas.test.ts +0 -31
- package/source/schemas.ts +0 -15
- package/source/service.ts +0 -94
- package/source/shortcuts.ts +0 -14
- package/source/userland.ts +0 -47
- package/transpiled/Annotation.d.ts +0 -70
- package/transpiled/Annotation.js +0 -2
- package/transpiled/Annotation.js.map +0 -1
- package/transpiled/RTD/syntax/parse.d.ts +0 -4
- package/transpiled/RTD/syntax/parse.js +0 -112
- package/transpiled/RTD/syntax/parse.js.map +0 -1
- package/transpiled/RTD/syntax/types.d.ts +0 -52
- package/transpiled/RTD/syntax/types.js +0 -11
- package/transpiled/RTD/syntax/types.js.map +0 -1
- package/transpiled/const.d.ts +0 -36
- package/transpiled/const.js +0 -37
- package/transpiled/const.js.map +0 -1
- package/transpiled/deployment.d.ts +0 -6
- package/transpiled/deployment.js +0 -76
- package/transpiled/deployment.js.map +0 -1
- package/transpiled/manifest.d.ts +0 -3
- package/transpiled/manifest.js +0 -39
- package/transpiled/manifest.js.map +0 -1
- package/transpiled/schemas.d.ts +0 -9
- package/transpiled/schemas.js +0 -9
- package/transpiled/schemas.js.map +0 -1
- package/transpiled/shortcuts.d.ts +0 -3
- package/transpiled/shortcuts.js +0 -13
- package/transpiled/shortcuts.js.map +0 -1
- package/tsconfig.json +0 -13
- package/tsconfig.tsbuildinfo +0 -1
- package/ui/dist/_app/immutable/assets/0.Bl7vLmIK.css +0 -2
- package/ui/dist/_app/immutable/assets/2.BC0-Jhqu.css +0 -1
- package/ui/dist/_app/immutable/chunks/B_pK3U1C.js +0 -6
- package/ui/dist/_app/immutable/chunks/CiKbPLyY.js +0 -1
- package/ui/dist/_app/immutable/chunks/DjIYL2zC.js +0 -3
- package/ui/dist/_app/immutable/entry/app.DMqmL4NY.js +0 -2
- package/ui/dist/_app/immutable/entry/start.CRe7HWBI.js +0 -1
- package/ui/dist/_app/immutable/nodes/0.D9m-6cbM.js +0 -1
- package/ui/dist/_app/immutable/nodes/1.Cgi_RcSO.js +0 -1
- package/ui/dist/_app/immutable/nodes/2.D_Cbxgz4.js +0 -14
package/features/cache.feature
DELETED
|
@@ -1,368 +0,0 @@
|
|
|
1
|
-
@security
|
|
2
|
-
Feature: Caching
|
|
3
|
-
|
|
4
|
-
Background:
|
|
5
|
-
Given the `identity.basic` database contains:
|
|
6
|
-
# developer:secret
|
|
7
|
-
# user:12345
|
|
8
|
-
| _id | authority | username | password |
|
|
9
|
-
| b70a7dbca6b14a2eaac8a9eb4b2ff4db | nex | developer | $2b$10$ZRSKkgZoGnrcTNA5w5eCcu3pxDzdTduhteVYXcp56AaNcilNkwJ.O |
|
|
10
|
-
Given the `identity.roles` database contains:
|
|
11
|
-
| _id | identity | role |
|
|
12
|
-
| 775a648d054e4ce1a65f8f17e5b51803 | b70a7dbca6b14a2eaac8a9eb4b2ff4db | developer |
|
|
13
|
-
|
|
14
|
-
Scenario: Default caching
|
|
15
|
-
Given the annotation:
|
|
16
|
-
"""yaml
|
|
17
|
-
/:
|
|
18
|
-
anonymous: true
|
|
19
|
-
GET:
|
|
20
|
-
dev:stub: foo
|
|
21
|
-
/private:
|
|
22
|
-
auth:role: developer
|
|
23
|
-
GET:
|
|
24
|
-
dev:stub: bar
|
|
25
|
-
"""
|
|
26
|
-
When the following request is received:
|
|
27
|
-
"""
|
|
28
|
-
GET / HTTP/1.1
|
|
29
|
-
host: nex.toa.io
|
|
30
|
-
"""
|
|
31
|
-
Then the reply does not contain:
|
|
32
|
-
"""
|
|
33
|
-
cache-control:
|
|
34
|
-
"""
|
|
35
|
-
When the following request is received:
|
|
36
|
-
"""
|
|
37
|
-
GET /private/ HTTP/1.1
|
|
38
|
-
host: nex.toa.io
|
|
39
|
-
authorization: Basic ZGV2ZWxvcGVyOnNlY3JldA==
|
|
40
|
-
"""
|
|
41
|
-
Then the following reply is sent:
|
|
42
|
-
"""
|
|
43
|
-
200 OK
|
|
44
|
-
|
|
45
|
-
cache-control: no-store
|
|
46
|
-
"""
|
|
47
|
-
|
|
48
|
-
Scenario: Caching successful response
|
|
49
|
-
Given the annotation:
|
|
50
|
-
"""yaml
|
|
51
|
-
/:
|
|
52
|
-
io:output: true
|
|
53
|
-
anonymous: true
|
|
54
|
-
GET:
|
|
55
|
-
cache:control: max-age=60000
|
|
56
|
-
dev:stub: hello
|
|
57
|
-
"""
|
|
58
|
-
When the following request is received:
|
|
59
|
-
"""
|
|
60
|
-
GET / HTTP/1.1
|
|
61
|
-
host: nex.toa.io
|
|
62
|
-
accept: text/plain
|
|
63
|
-
"""
|
|
64
|
-
Then the following reply is sent:
|
|
65
|
-
"""
|
|
66
|
-
200 OK
|
|
67
|
-
cache-control: max-age=60000
|
|
68
|
-
content-type: text/plain
|
|
69
|
-
|
|
70
|
-
hello
|
|
71
|
-
"""
|
|
72
|
-
|
|
73
|
-
Scenario: Nested cache directives
|
|
74
|
-
Given the annotation:
|
|
75
|
-
"""yaml
|
|
76
|
-
/:
|
|
77
|
-
io:output: true
|
|
78
|
-
cache:control: max-age=30000
|
|
79
|
-
GET:
|
|
80
|
-
anonymous: true
|
|
81
|
-
dev:stub: hello
|
|
82
|
-
/foo:
|
|
83
|
-
auth:role: developer
|
|
84
|
-
GET:
|
|
85
|
-
dev:stub: hello
|
|
86
|
-
/bar:
|
|
87
|
-
auth:role: developer
|
|
88
|
-
cache:control: max-age=60000, public
|
|
89
|
-
GET:
|
|
90
|
-
dev:stub: hello
|
|
91
|
-
"""
|
|
92
|
-
When the following request is received:
|
|
93
|
-
"""
|
|
94
|
-
GET /identity/ HTTP/1.1
|
|
95
|
-
host: nex.toa.io
|
|
96
|
-
authorization: Basic ZGV2ZWxvcGVyOnNlY3JldA==
|
|
97
|
-
"""
|
|
98
|
-
Then the following reply is sent:
|
|
99
|
-
"""
|
|
100
|
-
200 OK
|
|
101
|
-
authorization: Token ${{ token }}
|
|
102
|
-
cache-control: no-store
|
|
103
|
-
"""
|
|
104
|
-
When the following request is received:
|
|
105
|
-
"""
|
|
106
|
-
GET / HTTP/1.1
|
|
107
|
-
host: nex.toa.io
|
|
108
|
-
accept: text/plain
|
|
109
|
-
"""
|
|
110
|
-
Then the following reply is sent:
|
|
111
|
-
"""
|
|
112
|
-
200 OK
|
|
113
|
-
cache-control: max-age=30000
|
|
114
|
-
content-type: text/plain
|
|
115
|
-
|
|
116
|
-
hello
|
|
117
|
-
"""
|
|
118
|
-
When the following request is received:
|
|
119
|
-
"""
|
|
120
|
-
GET /foo/ HTTP/1.1
|
|
121
|
-
host: nex.toa.io
|
|
122
|
-
accept: text/plain
|
|
123
|
-
authorization: Token ${{ token }}
|
|
124
|
-
"""
|
|
125
|
-
Then the following reply is sent:
|
|
126
|
-
"""
|
|
127
|
-
200 OK
|
|
128
|
-
cache-control: private, max-age=30000
|
|
129
|
-
content-type: text/plain
|
|
130
|
-
|
|
131
|
-
hello
|
|
132
|
-
"""
|
|
133
|
-
When the following request is received:
|
|
134
|
-
"""
|
|
135
|
-
GET /bar/ HTTP/1.1
|
|
136
|
-
host: nex.toa.io
|
|
137
|
-
accept: text/plain
|
|
138
|
-
authorization: Token ${{ token }}
|
|
139
|
-
"""
|
|
140
|
-
Then the following reply is sent:
|
|
141
|
-
"""
|
|
142
|
-
200 OK
|
|
143
|
-
cache-control: no-cache, max-age=60000, public
|
|
144
|
-
content-type: text/plain
|
|
145
|
-
|
|
146
|
-
hello
|
|
147
|
-
"""
|
|
148
|
-
And the reply does not contain:
|
|
149
|
-
"""
|
|
150
|
-
cache-control: private, max-age=30000
|
|
151
|
-
"""
|
|
152
|
-
|
|
153
|
-
Scenario: Cache-control is not added when request is unsafe
|
|
154
|
-
Given the annotation:
|
|
155
|
-
"""yaml
|
|
156
|
-
/:
|
|
157
|
-
anonymous: true
|
|
158
|
-
cache:control: max-age=60000
|
|
159
|
-
POST:
|
|
160
|
-
dev:stub: hello
|
|
161
|
-
"""
|
|
162
|
-
When the following request is received:
|
|
163
|
-
"""
|
|
164
|
-
POST / HTTP/1.1
|
|
165
|
-
host: nex.toa.io
|
|
166
|
-
accept: application/yaml
|
|
167
|
-
"""
|
|
168
|
-
Then the reply does not contain:
|
|
169
|
-
"""
|
|
170
|
-
cache-control: max-age=60000
|
|
171
|
-
"""
|
|
172
|
-
|
|
173
|
-
Scenario: Cache-control is added without implicit modifications
|
|
174
|
-
Given the annotation:
|
|
175
|
-
"""yaml
|
|
176
|
-
/:
|
|
177
|
-
io:output: true
|
|
178
|
-
auth:role: developer
|
|
179
|
-
cache:exact: max-age=60000, public
|
|
180
|
-
GET:
|
|
181
|
-
dev:stub: hello
|
|
182
|
-
"""
|
|
183
|
-
When the following request is received:
|
|
184
|
-
"""
|
|
185
|
-
GET /identity/ HTTP/1.1
|
|
186
|
-
host: nex.toa.io
|
|
187
|
-
authorization: Basic ZGV2ZWxvcGVyOnNlY3JldA==
|
|
188
|
-
"""
|
|
189
|
-
Then the following reply is sent:
|
|
190
|
-
"""
|
|
191
|
-
200 OK
|
|
192
|
-
authorization: Token ${{ token }}
|
|
193
|
-
cache-control: no-store
|
|
194
|
-
"""
|
|
195
|
-
When the following request is received:
|
|
196
|
-
"""
|
|
197
|
-
GET / HTTP/1.1
|
|
198
|
-
host: nex.toa.io
|
|
199
|
-
authorization: Token ${{ token }}
|
|
200
|
-
accept: text/plain
|
|
201
|
-
|
|
202
|
-
"""
|
|
203
|
-
Then the following reply is sent:
|
|
204
|
-
"""
|
|
205
|
-
200 OK
|
|
206
|
-
cache-control: max-age=60000, public
|
|
207
|
-
content-type: text/plain
|
|
208
|
-
|
|
209
|
-
hello
|
|
210
|
-
"""
|
|
211
|
-
|
|
212
|
-
Scenario: Response without caching
|
|
213
|
-
Given the annotation:
|
|
214
|
-
"""yaml
|
|
215
|
-
/:
|
|
216
|
-
anonymous: true
|
|
217
|
-
GET:
|
|
218
|
-
dev:stub: hello
|
|
219
|
-
"""
|
|
220
|
-
When the following request is received:
|
|
221
|
-
"""
|
|
222
|
-
GET / HTTP/1.1
|
|
223
|
-
host: nex.toa.io
|
|
224
|
-
accept: text/plain
|
|
225
|
-
"""
|
|
226
|
-
Then the reply does not contain:
|
|
227
|
-
"""
|
|
228
|
-
cache-control:
|
|
229
|
-
"""
|
|
230
|
-
|
|
231
|
-
Scenario: Private responses are sent with `vary: authorization`
|
|
232
|
-
Given the `identity.basic` database contains:
|
|
233
|
-
| _id | authority | username | password |
|
|
234
|
-
| efe3a65ebbee47ed95a73edd911ea328 | nex | developer | $2b$10$ZRSKkgZoGnrcTNA5w5eCcu3pxDzdTduhteVYXcp56AaNcilNkwJ.O |
|
|
235
|
-
And the annotation:
|
|
236
|
-
"""yaml
|
|
237
|
-
/:
|
|
238
|
-
/:id:
|
|
239
|
-
auth:id: id
|
|
240
|
-
cache:control: max-age=10000
|
|
241
|
-
GET:
|
|
242
|
-
dev:stub: Keep it
|
|
243
|
-
/sessions/:id:
|
|
244
|
-
auth:id: id
|
|
245
|
-
GET:
|
|
246
|
-
dev:stub: Keep it
|
|
247
|
-
"""
|
|
248
|
-
When the following request is received:
|
|
249
|
-
"""
|
|
250
|
-
GET /efe3a65ebbee47ed95a73edd911ea328/ HTTP/1.1
|
|
251
|
-
host: nex.toa.io
|
|
252
|
-
authorization: Basic ZGV2ZWxvcGVyOnNlY3JldA==
|
|
253
|
-
"""
|
|
254
|
-
Then the following reply is sent:
|
|
255
|
-
"""
|
|
256
|
-
200 OK
|
|
257
|
-
authorization: Token ${{ token }}
|
|
258
|
-
cache-control: no-store
|
|
259
|
-
"""
|
|
260
|
-
When the following request is received:
|
|
261
|
-
"""
|
|
262
|
-
GET /efe3a65ebbee47ed95a73edd911ea328/ HTTP/1.1
|
|
263
|
-
host: nex.toa.io
|
|
264
|
-
authorization: Token ${{ token }}
|
|
265
|
-
"""
|
|
266
|
-
Then the following reply is sent:
|
|
267
|
-
"""
|
|
268
|
-
200 OK
|
|
269
|
-
cache-control: private, max-age=10000
|
|
270
|
-
vary: authorization
|
|
271
|
-
"""
|
|
272
|
-
When the following request is received:
|
|
273
|
-
"""
|
|
274
|
-
GET /sessions/efe3a65ebbee47ed95a73edd911ea328/ HTTP/1.1
|
|
275
|
-
host: nex.toa.io
|
|
276
|
-
authorization: Token ${{ token }}
|
|
277
|
-
"""
|
|
278
|
-
Then the following reply is sent:
|
|
279
|
-
"""
|
|
280
|
-
200 OK
|
|
281
|
-
cache-control: private
|
|
282
|
-
vary: authorization
|
|
283
|
-
"""
|
|
284
|
-
|
|
285
|
-
Scenario: Authenticated `no-cache` responses
|
|
286
|
-
Given the `identity.basic` database contains:
|
|
287
|
-
| _id | authority | username | password |
|
|
288
|
-
| efe3a65ebbee47ed95a73edd911ea328 | nex | developer | $2b$10$ZRSKkgZoGnrcTNA5w5eCcu3pxDzdTduhteVYXcp56AaNcilNkwJ.O |
|
|
289
|
-
And the annotation:
|
|
290
|
-
"""yaml
|
|
291
|
-
/:
|
|
292
|
-
/:id:
|
|
293
|
-
auth:id: id
|
|
294
|
-
cache:control: no-cache
|
|
295
|
-
GET:
|
|
296
|
-
dev:stub: Keep it
|
|
297
|
-
"""
|
|
298
|
-
When the following request is received:
|
|
299
|
-
"""
|
|
300
|
-
GET /efe3a65ebbee47ed95a73edd911ea328/ HTTP/1.1
|
|
301
|
-
host: nex.toa.io
|
|
302
|
-
authorization: Basic ZGV2ZWxvcGVyOnNlY3JldA==
|
|
303
|
-
"""
|
|
304
|
-
# no-store since the response contains the token
|
|
305
|
-
Then the following reply is sent:
|
|
306
|
-
"""
|
|
307
|
-
200 OK
|
|
308
|
-
authorization: Token ${{ token }}
|
|
309
|
-
cache-control: no-store
|
|
310
|
-
"""
|
|
311
|
-
When the following request is received:
|
|
312
|
-
"""
|
|
313
|
-
GET /efe3a65ebbee47ed95a73edd911ea328/ HTTP/1.1
|
|
314
|
-
host: nex.toa.io
|
|
315
|
-
authorization: Token ${{ token }}
|
|
316
|
-
"""
|
|
317
|
-
# private is added since the response is authenticated
|
|
318
|
-
Then the following reply is sent:
|
|
319
|
-
"""
|
|
320
|
-
200 OK
|
|
321
|
-
cache-control: private, no-cache
|
|
322
|
-
"""
|
|
323
|
-
|
|
324
|
-
Scenario: An exact value is set whatever the method
|
|
325
|
-
Given the annotation:
|
|
326
|
-
"""yaml
|
|
327
|
-
/:
|
|
328
|
-
io:output: true
|
|
329
|
-
/tokens/:
|
|
330
|
-
anonymous: true
|
|
331
|
-
cache:exact: no-store
|
|
332
|
-
POST:
|
|
333
|
-
dev:stub: issued
|
|
334
|
-
"""
|
|
335
|
-
When the following request is received:
|
|
336
|
-
"""
|
|
337
|
-
POST /tokens/ HTTP/1.1
|
|
338
|
-
host: nex.toa.io
|
|
339
|
-
accept: text/plain
|
|
340
|
-
"""
|
|
341
|
-
# whether a reply may be stored is not a question about the method's cacheability
|
|
342
|
-
Then the following reply is sent:
|
|
343
|
-
"""
|
|
344
|
-
201 Created
|
|
345
|
-
cache-control: no-store
|
|
346
|
-
"""
|
|
347
|
-
|
|
348
|
-
Scenario: Cacheability is still asked of safe methods only
|
|
349
|
-
Given the annotation:
|
|
350
|
-
"""yaml
|
|
351
|
-
/:
|
|
352
|
-
io:output: true
|
|
353
|
-
/notes/:
|
|
354
|
-
anonymous: true
|
|
355
|
-
cache:control: max-age=60000, public
|
|
356
|
-
POST:
|
|
357
|
-
dev:stub: created
|
|
358
|
-
"""
|
|
359
|
-
When the following request is received:
|
|
360
|
-
"""
|
|
361
|
-
POST /notes/ HTTP/1.1
|
|
362
|
-
host: nex.toa.io
|
|
363
|
-
accept: text/plain
|
|
364
|
-
"""
|
|
365
|
-
Then the reply does not contain:
|
|
366
|
-
"""
|
|
367
|
-
cache-control:
|
|
368
|
-
"""
|
|
@@ -1,206 +0,0 @@
|
|
|
1
|
-
@security
|
|
2
|
-
Feature: Configuration values
|
|
3
|
-
|
|
4
|
-
The values component declares how it is exposed in its own manifest, and that manifest
|
|
5
|
-
is what this mounts. Reading takes `system:configuration:get`, creating takes
|
|
6
|
-
`system:configuration:create`, and the one who creates is recorded as the originator.
|
|
7
|
-
|
|
8
|
-
Background:
|
|
9
|
-
# developer:secret, user:12345
|
|
10
|
-
Given the `identity.basic` database contains:
|
|
11
|
-
| _id | authority | username | password |
|
|
12
|
-
| efe3a65ebbee47ed95a73edd911ea328 | nex | developer | $2b$10$ZRSKkgZoGnrcTNA5w5eCcu3pxDzdTduhteVYXcp56AaNcilNkwJ.O |
|
|
13
|
-
| e8e4f9c2a68d419b861403d71fabc915 | nex | user | $2b$10$Frszmrmsz9iwSXzBbRRMKeDVKsNxozkrLNSsN.SnVC.KPxLtQr/bK |
|
|
14
|
-
And the `identity.roles` database contains:
|
|
15
|
-
| _id | identity | role |
|
|
16
|
-
| 1c0b2a3d4e5f4a6b8c7d9e0f1a2b3c4d | efe3a65ebbee47ed95a73edd911ea328 | system:configuration |
|
|
17
|
-
| 2c0b2a3d4e5f4a6b8c7d9e0f1a2b3c4d | e8e4f9c2a68d419b861403d71fabc915 | system:configuration:get |
|
|
18
|
-
And the `identity.bans` database is empty
|
|
19
|
-
And the `configuration.values` database is empty
|
|
20
|
-
And the configuration values are deployed:
|
|
21
|
-
"""yaml
|
|
22
|
-
dummies.dummy:
|
|
23
|
-
epoch: e1
|
|
24
|
-
schema:
|
|
25
|
-
type: object
|
|
26
|
-
properties:
|
|
27
|
-
foo:
|
|
28
|
-
type: string
|
|
29
|
-
bar:
|
|
30
|
-
type: string
|
|
31
|
-
defaults:
|
|
32
|
-
foo: deployed
|
|
33
|
-
bar: world
|
|
34
|
-
"""
|
|
35
|
-
And the configuration values are running
|
|
36
|
-
|
|
37
|
-
Scenario: Reading the deployed configuration
|
|
38
|
-
When the following request is received:
|
|
39
|
-
"""
|
|
40
|
-
GET /configuration/values/dummies.dummy/ HTTP/1.1
|
|
41
|
-
host: nex.toa.io
|
|
42
|
-
authorization: Basic dXNlcjoxMjM0NQ==
|
|
43
|
-
accept: application/yaml
|
|
44
|
-
"""
|
|
45
|
-
Then the following reply is sent:
|
|
46
|
-
"""
|
|
47
|
-
200 OK
|
|
48
|
-
content-type: application/yaml
|
|
49
|
-
|
|
50
|
-
configuration:
|
|
51
|
-
foo: deployed
|
|
52
|
-
bar: world
|
|
53
|
-
schema:
|
|
54
|
-
type: object
|
|
55
|
-
properties:
|
|
56
|
-
foo:
|
|
57
|
-
type: string
|
|
58
|
-
bar:
|
|
59
|
-
type: string
|
|
60
|
-
epoch: e1
|
|
61
|
-
"""
|
|
62
|
-
|
|
63
|
-
Scenario: Listing the configurations
|
|
64
|
-
When the following request is received:
|
|
65
|
-
"""
|
|
66
|
-
GET /configuration/values/ HTTP/1.1
|
|
67
|
-
host: nex.toa.io
|
|
68
|
-
authorization: Basic dXNlcjoxMjM0NQ==
|
|
69
|
-
accept: application/yaml
|
|
70
|
-
"""
|
|
71
|
-
Then the following reply is sent:
|
|
72
|
-
"""
|
|
73
|
-
200 OK
|
|
74
|
-
content-type: application/yaml
|
|
75
|
-
|
|
76
|
-
- component: dummies.dummy
|
|
77
|
-
epoch: e1
|
|
78
|
-
schema:
|
|
79
|
-
type: object
|
|
80
|
-
properties:
|
|
81
|
-
foo:
|
|
82
|
-
type: string
|
|
83
|
-
bar:
|
|
84
|
-
type: string
|
|
85
|
-
configuration:
|
|
86
|
-
foo: deployed
|
|
87
|
-
bar: world
|
|
88
|
-
"""
|
|
89
|
-
|
|
90
|
-
Scenario: Listing without the role
|
|
91
|
-
When the following request is received:
|
|
92
|
-
"""
|
|
93
|
-
GET /configuration/values/ HTTP/1.1
|
|
94
|
-
host: nex.toa.io
|
|
95
|
-
"""
|
|
96
|
-
Then the following reply is sent:
|
|
97
|
-
"""
|
|
98
|
-
401 Unauthorized
|
|
99
|
-
"""
|
|
100
|
-
|
|
101
|
-
Scenario: Reading without the role
|
|
102
|
-
When the following request is received:
|
|
103
|
-
"""
|
|
104
|
-
GET /configuration/values/dummies.dummy/ HTTP/1.1
|
|
105
|
-
host: nex.toa.io
|
|
106
|
-
"""
|
|
107
|
-
Then the following reply is sent:
|
|
108
|
-
"""
|
|
109
|
-
401 Unauthorized
|
|
110
|
-
"""
|
|
111
|
-
|
|
112
|
-
Scenario: Reading the configuration of an unknown component
|
|
113
|
-
When the following request is received:
|
|
114
|
-
"""
|
|
115
|
-
GET /configuration/values/dummies.unknown/ HTTP/1.1
|
|
116
|
-
host: nex.toa.io
|
|
117
|
-
authorization: Basic ZGV2ZWxvcGVyOnNlY3JldA==
|
|
118
|
-
"""
|
|
119
|
-
Then the following reply is sent:
|
|
120
|
-
"""
|
|
121
|
-
404 Not Found
|
|
122
|
-
"""
|
|
123
|
-
|
|
124
|
-
Scenario: Creating configuration
|
|
125
|
-
When the following request is received:
|
|
126
|
-
"""
|
|
127
|
-
POST /configuration/values/dummies.dummy/ HTTP/1.1
|
|
128
|
-
host: nex.toa.io
|
|
129
|
-
authorization: Basic ZGV2ZWxvcGVyOnNlY3JldA==
|
|
130
|
-
accept: application/yaml
|
|
131
|
-
content-type: application/yaml
|
|
132
|
-
|
|
133
|
-
configuration:
|
|
134
|
-
foo: created
|
|
135
|
-
"""
|
|
136
|
-
Then the following reply is sent:
|
|
137
|
-
"""
|
|
138
|
-
201 Created
|
|
139
|
-
content-type: application/yaml
|
|
140
|
-
|
|
141
|
-
epoch: e1
|
|
142
|
-
"""
|
|
143
|
-
When the following request is received:
|
|
144
|
-
"""
|
|
145
|
-
GET /configuration/values/dummies.dummy/ HTTP/1.1
|
|
146
|
-
host: nex.toa.io
|
|
147
|
-
authorization: Basic dXNlcjoxMjM0NQ==
|
|
148
|
-
accept: application/yaml
|
|
149
|
-
"""
|
|
150
|
-
Then the following reply is sent:
|
|
151
|
-
"""
|
|
152
|
-
200 OK
|
|
153
|
-
content-type: application/yaml
|
|
154
|
-
|
|
155
|
-
configuration:
|
|
156
|
-
foo: created
|
|
157
|
-
epoch: e1
|
|
158
|
-
"""
|
|
159
|
-
|
|
160
|
-
Scenario: Creating configuration without the role
|
|
161
|
-
When the following request is received:
|
|
162
|
-
"""
|
|
163
|
-
POST /configuration/values/dummies.dummy/ HTTP/1.1
|
|
164
|
-
host: nex.toa.io
|
|
165
|
-
authorization: Basic dXNlcjoxMjM0NQ==
|
|
166
|
-
content-type: application/yaml
|
|
167
|
-
|
|
168
|
-
configuration:
|
|
169
|
-
foo: created
|
|
170
|
-
"""
|
|
171
|
-
Then the following reply is sent:
|
|
172
|
-
"""
|
|
173
|
-
403 Forbidden
|
|
174
|
-
"""
|
|
175
|
-
|
|
176
|
-
Scenario: Creating configuration not fitting the schema
|
|
177
|
-
When the following request is received:
|
|
178
|
-
"""
|
|
179
|
-
POST /configuration/values/dummies.dummy/ HTTP/1.1
|
|
180
|
-
host: nex.toa.io
|
|
181
|
-
authorization: Basic ZGV2ZWxvcGVyOnNlY3JldA==
|
|
182
|
-
content-type: application/yaml
|
|
183
|
-
|
|
184
|
-
configuration:
|
|
185
|
-
foo:
|
|
186
|
-
nested: true
|
|
187
|
-
"""
|
|
188
|
-
Then the following reply is sent:
|
|
189
|
-
"""
|
|
190
|
-
422 Unprocessable Entity
|
|
191
|
-
"""
|
|
192
|
-
|
|
193
|
-
Scenario: Creating configuration for an unknown component
|
|
194
|
-
When the following request is received:
|
|
195
|
-
"""
|
|
196
|
-
POST /configuration/values/dummies.unknown/ HTTP/1.1
|
|
197
|
-
host: nex.toa.io
|
|
198
|
-
authorization: Basic ZGV2ZWxvcGVyOnNlY3JldA==
|
|
199
|
-
content-type: application/yaml
|
|
200
|
-
|
|
201
|
-
configuration: {}
|
|
202
|
-
"""
|
|
203
|
-
Then the following reply is sent:
|
|
204
|
-
"""
|
|
205
|
-
422 Unprocessable Entity
|
|
206
|
-
"""
|
package/features/cors.feature
DELETED
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
@security
|
|
2
|
-
Feature: CORS Support
|
|
3
|
-
|
|
4
|
-
Scenario: Basic CORS permissions
|
|
5
|
-
Given the annotation:
|
|
6
|
-
"""yaml
|
|
7
|
-
/:
|
|
8
|
-
anonymous: true
|
|
9
|
-
/foo:
|
|
10
|
-
GET:
|
|
11
|
-
dev:stub: Hello
|
|
12
|
-
"""
|
|
13
|
-
When the following request is received:
|
|
14
|
-
"""
|
|
15
|
-
OPTIONS / HTTP/1.1
|
|
16
|
-
access-control-request-method: GET
|
|
17
|
-
host: nex.toa.io
|
|
18
|
-
origin: https://hello.world
|
|
19
|
-
"""
|
|
20
|
-
Then the following reply is sent:
|
|
21
|
-
"""
|
|
22
|
-
204 No Content
|
|
23
|
-
access-control-allow-credentials: true
|
|
24
|
-
access-control-allow-headers: accept, authorization, content-type, if-match, if-none-match
|
|
25
|
-
access-control-allow-methods: GET, POST, PUT, PATCH, DELETE, LOCK, UNLOCK, OPTIONS
|
|
26
|
-
access-control-allow-origin: https://hello.world
|
|
27
|
-
access-control-max-age: 3600
|
|
28
|
-
cache-control: max-age=3600
|
|
29
|
-
vary: origin
|
|
30
|
-
"""
|
|
31
|
-
When the following request is received:
|
|
32
|
-
"""
|
|
33
|
-
GET /foo/ HTTP/1.1
|
|
34
|
-
host: nex.toa.io
|
|
35
|
-
origin: https://hello.world
|
|
36
|
-
"""
|
|
37
|
-
Then the following reply is sent:
|
|
38
|
-
"""
|
|
39
|
-
200 OK
|
|
40
|
-
access-control-allow-credentials: true
|
|
41
|
-
access-control-allow-origin: https://hello.world
|
|
42
|
-
access-control-expose-headers: authorization, content-type, content-length, date, etag, last-modified
|
|
43
|
-
vary: origin
|
|
44
|
-
"""
|
|
45
|
-
|
|
46
|
-
Scenario: An OPTIONS that is not a preflight
|
|
47
|
-
A preflight is `OPTIONS` carrying `Access-Control-Request-Method`, and only that. A
|
|
48
|
-
browser puts `Origin` on every request whose method is not `GET` or `HEAD`, its own
|
|
49
|
-
`OPTIONS` included — so one answered as a preflight is a resource no page can introspect.
|
|
50
|
-
|
|
51
|
-
Given the annotation:
|
|
52
|
-
"""yaml
|
|
53
|
-
/:
|
|
54
|
-
anonymous: true
|
|
55
|
-
/foo:
|
|
56
|
-
io:output: true
|
|
57
|
-
GET:
|
|
58
|
-
dev:stub: Hello
|
|
59
|
-
"""
|
|
60
|
-
When the following request is received:
|
|
61
|
-
"""
|
|
62
|
-
OPTIONS /foo/ HTTP/1.1
|
|
63
|
-
host: nex.toa.io
|
|
64
|
-
origin: https://hello.world
|
|
65
|
-
accept: application/yaml
|
|
66
|
-
"""
|
|
67
|
-
Then the following reply is sent:
|
|
68
|
-
"""
|
|
69
|
-
200 OK
|
|
70
|
-
access-control-allow-origin: https://hello.world
|
|
71
|
-
Allow: GET
|
|
72
|
-
vary: origin
|
|
73
|
-
"""
|
|
74
|
-
|
|
75
|
-
Scenario: Always vary CORS
|
|
76
|
-
Given the annotation:
|
|
77
|
-
"""yaml
|
|
78
|
-
/:
|
|
79
|
-
anonymous: true
|
|
80
|
-
GET:
|
|
81
|
-
dev:stub: hello
|
|
82
|
-
"""
|
|
83
|
-
When the following request is received:
|
|
84
|
-
"""
|
|
85
|
-
GET / HTTP/1.1
|
|
86
|
-
host: nex.toa.io
|
|
87
|
-
"""
|
|
88
|
-
Then the following reply is sent:
|
|
89
|
-
"""
|
|
90
|
-
200 OK
|
|
91
|
-
vary: origin
|
|
92
|
-
"""
|
|
93
|
-
|
|
94
|
-
Scenario: Errors have CORS headers
|
|
95
|
-
Given the annotation:
|
|
96
|
-
"""yaml
|
|
97
|
-
/:
|
|
98
|
-
/foo:
|
|
99
|
-
GET:
|
|
100
|
-
dev:stub: Hello
|
|
101
|
-
"""
|
|
102
|
-
When the following request is received:
|
|
103
|
-
"""
|
|
104
|
-
GET /bar/ HTTP/1.1
|
|
105
|
-
host: nex.toa.io
|
|
106
|
-
origin: https://hello.world
|
|
107
|
-
"""
|
|
108
|
-
Then the following reply is sent:
|
|
109
|
-
"""
|
|
110
|
-
404 Not Found
|
|
111
|
-
access-control-allow-origin: https://hello.world
|
|
112
|
-
access-control-expose-headers: authorization, content-type, content-length, date, etag, last-modified
|
|
113
|
-
vary: origin
|
|
114
|
-
"""
|
|
115
|
-
When the following request is received:
|
|
116
|
-
"""
|
|
117
|
-
GET /foo/ HTTP/1.1
|
|
118
|
-
host: nex.toa.io
|
|
119
|
-
origin: https://hello.world
|
|
120
|
-
"""
|
|
121
|
-
Then the following reply is sent:
|
|
122
|
-
"""
|
|
123
|
-
401 Unauthorized
|
|
124
|
-
access-control-allow-origin: https://hello.world
|
|
125
|
-
access-control-expose-headers: authorization, content-type, content-length, date, etag, last-modified
|
|
126
|
-
vary: origin
|
|
127
|
-
"""
|