@toa.io/extensions.exposition 1.0.0-alpha.0 → 1.0.0-alpha.3
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 +12 -0
- package/components/identity.bans/manifest.toa.yaml +1 -1
- package/components/identity.basic/manifest.toa.yaml +2 -2
- package/components/identity.basic/operations/authenticate.d.ts +9 -0
- package/components/identity.basic/operations/authenticate.js +24 -0
- package/components/identity.basic/operations/authenticate.js.map +1 -0
- package/components/identity.basic/operations/create.d.ts +10 -0
- package/components/identity.basic/operations/create.js +10 -0
- package/components/identity.basic/operations/create.js.map +1 -0
- package/components/identity.basic/operations/transit.d.ts +12 -0
- package/components/identity.basic/operations/transit.js +53 -0
- package/components/identity.basic/operations/transit.js.map +1 -0
- package/components/identity.basic/operations/tsconfig.tsbuildinfo +1 -0
- package/components/identity.basic/operations/types.d.ts +38 -0
- package/components/identity.basic/operations/types.js +3 -0
- package/components/identity.basic/operations/types.js.map +1 -0
- package/components/identity.basic/source/authenticate.ts +0 -1
- package/components/identity.federation/events/principal.js +22 -0
- package/components/identity.federation/manifest.toa.yaml +100 -0
- package/components/identity.federation/operations/authenticate.d.ts +3 -0
- package/components/identity.federation/operations/authenticate.js +20 -0
- package/components/identity.federation/operations/authenticate.js.map +1 -0
- package/components/identity.federation/operations/create.d.ts +10 -0
- package/components/identity.federation/operations/create.js +15 -0
- package/components/identity.federation/operations/create.js.map +1 -0
- package/components/identity.federation/operations/lib/assertions-as-values.d.ts +4 -0
- package/components/identity.federation/operations/lib/assertions-as-values.js +45 -0
- package/components/identity.federation/operations/lib/assertions-as-values.js.map +1 -0
- package/components/identity.federation/operations/lib/jwt.d.ts +20 -0
- package/components/identity.federation/operations/lib/jwt.js +136 -0
- package/components/identity.federation/operations/lib/jwt.js.map +1 -0
- package/components/identity.federation/operations/schemas.d.ts +59 -0
- package/components/identity.federation/operations/schemas.js +9 -0
- package/components/identity.federation/operations/schemas.js.map +1 -0
- package/components/identity.federation/operations/tsconfig.tsbuildinfo +1 -0
- package/components/identity.federation/operations/types.d.ts +51 -0
- package/components/identity.federation/operations/types.js +3 -0
- package/components/identity.federation/operations/types.js.map +1 -0
- package/components/identity.federation/source/authenticate.ts +28 -0
- package/components/identity.federation/source/create.ts +26 -0
- package/components/identity.federation/source/lib/assertions-as-values.ts +19 -0
- package/components/identity.federation/source/lib/jwt.test.ts +56 -0
- package/components/identity.federation/source/lib/jwt.ts +171 -0
- package/components/identity.federation/source/schemas.ts +61 -0
- package/components/identity.federation/source/types.ts +56 -0
- package/components/identity.federation/tsconfig.json +9 -0
- package/components/identity.roles/operations/list.d.ts +5 -0
- package/components/identity.roles/operations/list.js +8 -0
- package/components/identity.roles/operations/list.js.map +1 -0
- package/components/identity.roles/operations/principal.d.ts +15 -0
- package/components/identity.roles/operations/principal.js +8 -0
- package/components/identity.roles/operations/principal.js.map +1 -0
- package/components/identity.roles/operations/tsconfig.tsbuildinfo +1 -0
- package/components/identity.tokens/manifest.toa.yaml +1 -1
- package/components/identity.tokens/operations/authenticate.d.ts +9 -0
- package/components/identity.tokens/operations/authenticate.js +32 -0
- package/components/identity.tokens/operations/authenticate.js.map +1 -0
- package/components/identity.tokens/operations/decrypt.d.ts +3 -0
- package/components/identity.tokens/operations/decrypt.js +32 -0
- package/components/identity.tokens/operations/decrypt.js.map +1 -0
- package/components/identity.tokens/operations/encrypt.d.ts +8 -0
- package/components/identity.tokens/operations/encrypt.js +22 -0
- package/components/identity.tokens/operations/encrypt.js.map +1 -0
- package/components/identity.tokens/operations/revoke.d.ts +2 -0
- package/components/identity.tokens/operations/revoke.js +8 -0
- package/components/identity.tokens/operations/revoke.js.map +1 -0
- package/components/identity.tokens/operations/tsconfig.tsbuildinfo +1 -0
- package/components/identity.tokens/operations/types.d.ts +40 -0
- package/components/identity.tokens/operations/types.js +3 -0
- package/components/identity.tokens/operations/types.js.map +1 -0
- package/components/octets.storage/manifest.toa.yaml +1 -0
- package/components/octets.storage/operations/store.js +2 -2
- package/cucumber.js +0 -1
- package/documentation/components.md +32 -2
- package/documentation/identity.md +14 -7
- package/documentation/octets.md +105 -40
- package/documentation/protocol.md +21 -1
- package/documentation/query.md +1 -1
- package/documentation/vary.md +69 -0
- package/features/cors.feature +72 -0
- package/features/identity.feature +19 -3
- package/features/identity.federation.feature +155 -0
- package/features/octets.entries.feature +121 -0
- package/features/octets.feature +2 -28
- package/features/octets.meta.feature +65 -0
- package/features/octets.workflows.feature +176 -4
- package/features/response.feature +65 -0
- package/features/routes.feature +37 -0
- package/features/steps/Captures.ts +6 -0
- package/features/steps/Components.ts +18 -6
- package/features/steps/Gateway.ts +1 -2
- package/features/steps/HTTP.ts +40 -87
- package/features/steps/IdP.ts +149 -0
- package/features/steps/Parameters.ts +8 -2
- package/features/steps/Workspace.ts +5 -7
- package/features/steps/components/echo/operations/error.js +11 -0
- package/features/steps/components/octets.tester/manifest.toa.yaml +3 -0
- package/features/steps/components/octets.tester/operations/concat.js +7 -0
- package/features/steps/components/octets.tester/operations/echo.js +7 -0
- package/features/steps/components/users/manifest.toa.yaml +3 -0
- package/features/steps/components/users.properties/manifest.toa.yaml +13 -0
- package/features/steps/tsconfig.json +1 -1
- package/features/vary.feature +150 -0
- package/package.json +17 -18
- package/schemas/octets/delete.cos.yaml +2 -1
- package/schemas/octets/list.cos.yaml +2 -1
- package/schemas/octets/workflow.cos.yaml +12 -0
- package/source/Directive.test.ts +8 -2
- package/source/Directive.ts +19 -16
- package/source/Factory.ts +8 -7
- package/source/Gateway.ts +22 -8
- package/source/HTTP/Server.fixtures.ts +0 -1
- package/source/HTTP/Server.test.ts +61 -134
- package/source/HTTP/Server.ts +91 -47
- package/source/HTTP/formats/msgpack.ts +9 -6
- package/source/HTTP/formats/text.ts +1 -1
- package/source/HTTP/formats/yaml.ts +1 -1
- package/source/HTTP/messages.ts +15 -3
- package/source/Interception.ts +24 -0
- package/source/RTD/Directives.ts +2 -2
- package/source/RTD/Tree.ts +3 -0
- package/source/RTD/syntax/parse.ts +6 -6
- package/source/RTD/syntax/types.ts +1 -1
- package/source/deployment.ts +1 -2
- package/source/directives/auth/{Family.ts → Authorization.ts} +29 -33
- package/source/directives/auth/Incept.ts +1 -1
- package/source/directives/auth/Rule.ts +2 -2
- package/source/directives/auth/index.ts +2 -2
- package/source/directives/auth/schemes.ts +2 -1
- package/source/directives/auth/types.ts +9 -6
- package/source/directives/cache/{Family.ts → Cache.ts} +4 -5
- package/source/directives/cache/index.ts +2 -2
- package/source/directives/cache/types.ts +1 -1
- package/source/directives/cors/CORS.ts +54 -0
- package/source/directives/cors/index.ts +3 -0
- package/source/directives/dev/{Family.ts → Development.ts} +3 -4
- package/source/directives/dev/Stub.ts +4 -4
- package/source/directives/dev/Throw.ts +4 -4
- package/source/directives/dev/index.ts +2 -2
- package/source/directives/dev/types.ts +1 -1
- package/source/directives/index.ts +10 -6
- package/source/directives/octets/Context.ts +1 -1
- package/source/directives/octets/Delete.ts +50 -9
- package/source/directives/octets/Fetch.ts +18 -19
- package/source/directives/octets/List.ts +37 -7
- package/source/directives/octets/{Family.ts → Octets.ts} +10 -7
- package/source/directives/octets/Permute.ts +3 -3
- package/source/directives/octets/Store.ts +57 -99
- package/source/directives/octets/Workflow.ts +41 -0
- package/source/directives/octets/index.ts +2 -2
- package/source/directives/octets/schemas.test.ts +21 -0
- package/source/directives/octets/schemas.ts +13 -6
- package/source/directives/octets/types.ts +4 -3
- package/source/directives/octets/workflows/Execution.ts +76 -0
- package/source/directives/octets/workflows/Workflow.ts +37 -0
- package/source/directives/octets/workflows/index.ts +1 -0
- package/source/directives/vary/Directive.ts +6 -0
- package/source/directives/vary/Embed.ts +62 -0
- package/source/directives/vary/Properties.ts +17 -0
- package/source/directives/vary/Vary.ts +48 -0
- package/source/directives/vary/embeddings/Embedding.ts +6 -0
- package/source/directives/vary/embeddings/Header.ts +30 -0
- package/source/directives/vary/embeddings/Language.ts +31 -0
- package/source/directives/vary/embeddings/index.ts +11 -0
- package/source/directives/vary/index.ts +3 -0
- package/source/io.ts +4 -0
- package/source/manifest.test.ts +6 -14
- package/source/manifest.ts +9 -6
- package/source/schemas.ts +7 -3
- package/transpiled/Annotation.d.ts +7 -0
- package/transpiled/Annotation.js +3 -0
- package/transpiled/Annotation.js.map +1 -0
- package/transpiled/Branch.d.ts +7 -0
- package/transpiled/Branch.js +3 -0
- package/transpiled/Branch.js.map +1 -0
- package/transpiled/Composition.d.ts +14 -0
- package/transpiled/Composition.js +43 -0
- package/transpiled/Composition.js.map +1 -0
- package/transpiled/Context.d.ts +5 -0
- package/transpiled/Context.js +3 -0
- package/transpiled/Context.js.map +1 -0
- package/transpiled/Directive.d.ts +31 -0
- package/transpiled/Directive.js +78 -0
- package/transpiled/Directive.js.map +1 -0
- package/transpiled/Endpoint.d.ts +20 -0
- package/transpiled/Endpoint.js +45 -0
- package/transpiled/Endpoint.js.map +1 -0
- package/transpiled/Factory.d.ts +9 -0
- package/transpiled/Factory.js +67 -0
- package/transpiled/Factory.js.map +1 -0
- package/transpiled/Gateway.d.ts +22 -0
- package/transpiled/Gateway.js +102 -0
- package/transpiled/Gateway.js.map +1 -0
- package/transpiled/HTTP/Server.d.ts +24 -0
- package/transpiled/HTTP/Server.fixtures.d.ts +10 -0
- package/transpiled/HTTP/Server.fixtures.js +31 -0
- package/transpiled/HTTP/Server.fixtures.js.map +1 -0
- package/transpiled/HTTP/Server.js +149 -0
- package/transpiled/HTTP/Server.js.map +1 -0
- package/transpiled/HTTP/exceptions.d.ts +34 -0
- package/transpiled/HTTP/exceptions.js +71 -0
- package/transpiled/HTTP/exceptions.js.map +1 -0
- package/transpiled/HTTP/formats/index.d.ts +10 -0
- package/transpiled/HTTP/formats/index.js +38 -0
- package/transpiled/HTTP/formats/index.js.map +1 -0
- package/transpiled/HTTP/formats/json.d.ts +6 -0
- package/transpiled/HTTP/formats/json.js +17 -0
- package/transpiled/HTTP/formats/json.js.map +1 -0
- package/transpiled/HTTP/formats/msgpack.d.ts +6 -0
- package/transpiled/HTTP/formats/msgpack.js +17 -0
- package/transpiled/HTTP/formats/msgpack.js.map +1 -0
- package/transpiled/HTTP/formats/text.d.ts +8 -0
- package/transpiled/HTTP/formats/text.js +15 -0
- package/transpiled/HTTP/formats/text.js.map +1 -0
- package/transpiled/HTTP/formats/yaml.d.ts +6 -0
- package/transpiled/HTTP/formats/yaml.js +41 -0
- package/transpiled/HTTP/formats/yaml.js.map +1 -0
- package/transpiled/HTTP/index.d.ts +3 -0
- package/transpiled/HTTP/index.js +20 -0
- package/transpiled/HTTP/index.js.map +1 -0
- package/transpiled/HTTP/messages.d.ts +33 -0
- package/transpiled/HTTP/messages.js +75 -0
- package/transpiled/HTTP/messages.js.map +1 -0
- package/transpiled/Interception.d.ts +9 -0
- package/transpiled/Interception.js +19 -0
- package/transpiled/Interception.js.map +1 -0
- package/transpiled/Mapping.d.ts +8 -0
- package/transpiled/Mapping.js +38 -0
- package/transpiled/Mapping.js.map +1 -0
- package/transpiled/Query.d.ts +13 -0
- package/transpiled/Query.js +107 -0
- package/transpiled/Query.js.map +1 -0
- package/transpiled/RTD/Context.d.ts +11 -0
- package/transpiled/RTD/Context.js +3 -0
- package/transpiled/RTD/Context.js.map +1 -0
- package/transpiled/RTD/Directives.d.ts +7 -0
- package/transpiled/RTD/Directives.js +3 -0
- package/transpiled/RTD/Directives.js.map +1 -0
- package/transpiled/RTD/Endpoint.d.ts +9 -0
- package/transpiled/RTD/Endpoint.js +3 -0
- package/transpiled/RTD/Endpoint.js.map +1 -0
- package/transpiled/RTD/Match.d.ts +11 -0
- package/transpiled/RTD/Match.js +3 -0
- package/transpiled/RTD/Match.js.map +1 -0
- package/transpiled/RTD/Method.d.ts +9 -0
- package/transpiled/RTD/Method.js +16 -0
- package/transpiled/RTD/Method.js.map +1 -0
- package/transpiled/RTD/Node.d.ts +21 -0
- package/transpiled/RTD/Node.js +61 -0
- package/transpiled/RTD/Node.js.map +1 -0
- package/transpiled/RTD/Route.d.ts +14 -0
- package/transpiled/RTD/Route.js +49 -0
- package/transpiled/RTD/Route.js.map +1 -0
- package/transpiled/RTD/Tree.d.ts +14 -0
- package/transpiled/RTD/Tree.js +42 -0
- package/transpiled/RTD/Tree.js.map +1 -0
- package/transpiled/RTD/factory.d.ts +6 -0
- package/transpiled/RTD/factory.js +36 -0
- package/transpiled/RTD/factory.js.map +1 -0
- package/transpiled/RTD/index.d.ts +8 -0
- package/transpiled/RTD/index.js +38 -0
- package/transpiled/RTD/index.js.map +1 -0
- package/transpiled/RTD/segment.d.ts +8 -0
- package/transpiled/RTD/segment.js +25 -0
- package/transpiled/RTD/segment.js.map +1 -0
- package/transpiled/RTD/syntax/index.d.ts +2 -0
- package/transpiled/RTD/syntax/index.js +19 -0
- package/transpiled/RTD/syntax/index.js.map +1 -0
- package/transpiled/RTD/syntax/parse.d.ts +4 -0
- package/transpiled/RTD/syntax/parse.js +128 -0
- package/transpiled/RTD/syntax/parse.js.map +1 -0
- package/transpiled/RTD/syntax/types.d.ts +41 -0
- package/transpiled/RTD/syntax/types.js +5 -0
- package/transpiled/RTD/syntax/types.js.map +1 -0
- package/transpiled/Remotes.d.ts +9 -0
- package/transpiled/Remotes.js +25 -0
- package/transpiled/Remotes.js.map +1 -0
- package/transpiled/Tenant.d.ts +13 -0
- package/transpiled/Tenant.js +34 -0
- package/transpiled/Tenant.js.map +1 -0
- package/transpiled/deployment.d.ts +3 -0
- package/transpiled/deployment.js +66 -0
- package/transpiled/deployment.js.map +1 -0
- package/transpiled/directives/auth/Anonymous.d.ts +6 -0
- package/transpiled/directives/auth/Anonymous.js +17 -0
- package/transpiled/directives/auth/Anonymous.js.map +1 -0
- package/transpiled/directives/auth/Authorization.d.ts +20 -0
- package/transpiled/directives/auth/Authorization.js +125 -0
- package/transpiled/directives/auth/Authorization.js.map +1 -0
- package/transpiled/directives/auth/Echo.d.ts +6 -0
- package/transpiled/directives/auth/Echo.js +13 -0
- package/transpiled/directives/auth/Echo.js.map +1 -0
- package/transpiled/directives/auth/Id.d.ts +7 -0
- package/transpiled/directives/auth/Id.js +17 -0
- package/transpiled/directives/auth/Id.js.map +1 -0
- package/transpiled/directives/auth/Incept.d.ts +10 -0
- package/transpiled/directives/auth/Incept.js +58 -0
- package/transpiled/directives/auth/Incept.js.map +1 -0
- package/transpiled/directives/auth/Role.d.ts +11 -0
- package/transpiled/directives/auth/Role.js +44 -0
- package/transpiled/directives/auth/Role.js.map +1 -0
- package/transpiled/directives/auth/Rule.d.ts +9 -0
- package/transpiled/directives/auth/Rule.js +22 -0
- package/transpiled/directives/auth/Rule.js.map +1 -0
- package/transpiled/directives/auth/Scheme.d.ts +7 -0
- package/transpiled/directives/auth/Scheme.js +47 -0
- package/transpiled/directives/auth/Scheme.js.map +1 -0
- package/transpiled/directives/auth/index.d.ts +2 -0
- package/transpiled/directives/auth/index.js +6 -0
- package/transpiled/directives/auth/index.js.map +1 -0
- package/transpiled/directives/auth/schemes.d.ts +3 -0
- package/transpiled/directives/auth/schemes.js +10 -0
- package/transpiled/directives/auth/schemes.js.map +1 -0
- package/transpiled/directives/auth/split.d.ts +2 -0
- package/transpiled/directives/auth/split.js +38 -0
- package/transpiled/directives/auth/split.js.map +1 -0
- package/transpiled/directives/auth/types.d.ts +31 -0
- package/transpiled/directives/auth/types.js +3 -0
- package/transpiled/directives/auth/types.js.map +1 -0
- package/transpiled/directives/cache/Cache.d.ts +11 -0
- package/transpiled/directives/cache/Cache.js +28 -0
- package/transpiled/directives/cache/Cache.js.map +1 -0
- package/transpiled/directives/cache/Control.d.ts +9 -0
- package/transpiled/directives/cache/Control.js +42 -0
- package/transpiled/directives/cache/Control.js.map +1 -0
- package/transpiled/directives/cache/Exact.d.ts +4 -0
- package/transpiled/directives/cache/Exact.js +11 -0
- package/transpiled/directives/cache/Exact.js.map +1 -0
- package/transpiled/directives/cache/index.d.ts +2 -0
- package/transpiled/directives/cache/index.js +6 -0
- package/transpiled/directives/cache/index.js.map +1 -0
- package/transpiled/directives/cache/types.d.ts +7 -0
- package/transpiled/directives/cache/types.js +3 -0
- package/transpiled/directives/cache/types.js.map +1 -0
- package/transpiled/directives/cors/CORS.d.ts +11 -0
- package/transpiled/directives/cors/CORS.js +44 -0
- package/transpiled/directives/cors/CORS.js.map +1 -0
- package/transpiled/directives/cors/index.d.ts +2 -0
- package/transpiled/directives/cors/index.js +6 -0
- package/transpiled/directives/cors/index.js.map +1 -0
- package/transpiled/directives/dev/Development.d.ts +9 -0
- package/transpiled/directives/dev/Development.js +29 -0
- package/transpiled/directives/dev/Development.js.map +1 -0
- package/transpiled/directives/dev/Stub.d.ts +7 -0
- package/transpiled/directives/dev/Stub.js +14 -0
- package/transpiled/directives/dev/Stub.js.map +1 -0
- package/transpiled/directives/dev/Throw.d.ts +7 -0
- package/transpiled/directives/dev/Throw.js +14 -0
- package/transpiled/directives/dev/Throw.js.map +1 -0
- package/transpiled/directives/dev/index.d.ts +2 -0
- package/transpiled/directives/dev/index.js +6 -0
- package/transpiled/directives/dev/index.js.map +1 -0
- package/transpiled/directives/dev/types.d.ts +4 -0
- package/transpiled/directives/dev/types.js +3 -0
- package/transpiled/directives/dev/types.js.map +1 -0
- package/transpiled/directives/index.d.ts +4 -0
- package/transpiled/directives/index.js +12 -0
- package/transpiled/directives/index.js.map +1 -0
- package/transpiled/directives/octets/Context.d.ts +8 -0
- package/transpiled/directives/octets/Context.js +40 -0
- package/transpiled/directives/octets/Context.js.map +1 -0
- package/transpiled/directives/octets/Delete.d.ts +19 -0
- package/transpiled/directives/octets/Delete.js +72 -0
- package/transpiled/directives/octets/Delete.js.map +1 -0
- package/transpiled/directives/octets/Fetch.d.ts +17 -0
- package/transpiled/directives/octets/Fetch.js +76 -0
- package/transpiled/directives/octets/Fetch.js.map +1 -0
- package/transpiled/directives/octets/List.d.ts +15 -0
- package/transpiled/directives/octets/List.js +65 -0
- package/transpiled/directives/octets/List.js.map +1 -0
- package/transpiled/directives/octets/Octets.d.ts +12 -0
- package/transpiled/directives/octets/Octets.js +53 -0
- package/transpiled/directives/octets/Octets.js.map +1 -0
- package/transpiled/directives/octets/Permute.d.ts +10 -0
- package/transpiled/directives/octets/Permute.js +51 -0
- package/transpiled/directives/octets/Permute.js.map +1 -0
- package/transpiled/directives/octets/Store.d.ts +23 -0
- package/transpiled/directives/octets/Store.js +88 -0
- package/transpiled/directives/octets/Store.js.map +1 -0
- package/transpiled/directives/octets/Workflow.d.ts +14 -0
- package/transpiled/directives/octets/Workflow.js +52 -0
- package/transpiled/directives/octets/Workflow.js.map +1 -0
- package/transpiled/directives/octets/index.d.ts +2 -0
- package/transpiled/directives/octets/index.js +6 -0
- package/transpiled/directives/octets/index.js.map +1 -0
- package/transpiled/directives/octets/schemas.d.ts +13 -0
- package/transpiled/directives/octets/schemas.js +18 -0
- package/transpiled/directives/octets/schemas.js.map +1 -0
- package/transpiled/directives/octets/types.d.ts +10 -0
- package/transpiled/directives/octets/types.js +3 -0
- package/transpiled/directives/octets/types.js.map +1 -0
- package/transpiled/directives/octets/workflows/Execution.d.ts +25 -0
- package/transpiled/directives/octets/workflows/Execution.js +54 -0
- package/transpiled/directives/octets/workflows/Execution.js.map +1 -0
- package/transpiled/directives/octets/workflows/Workflow.d.ts +12 -0
- package/transpiled/directives/octets/workflows/Workflow.js +25 -0
- package/transpiled/directives/octets/workflows/Workflow.js.map +1 -0
- package/transpiled/directives/octets/workflows/index.d.ts +1 -0
- package/transpiled/directives/octets/workflows/index.js +6 -0
- package/transpiled/directives/octets/workflows/index.js.map +1 -0
- package/transpiled/directives/vary/Directive.d.ts +5 -0
- package/transpiled/directives/vary/Directive.js +3 -0
- package/transpiled/directives/vary/Directive.js.map +1 -0
- package/transpiled/directives/vary/Embed.d.ts +10 -0
- package/transpiled/directives/vary/Embed.js +49 -0
- package/transpiled/directives/vary/Embed.js.map +1 -0
- package/transpiled/directives/vary/Properties.d.ts +9 -0
- package/transpiled/directives/vary/Properties.js +16 -0
- package/transpiled/directives/vary/Properties.js.map +1 -0
- package/transpiled/directives/vary/Vary.d.ts +10 -0
- package/transpiled/directives/vary/Vary.js +36 -0
- package/transpiled/directives/vary/Vary.js.map +1 -0
- package/transpiled/directives/vary/embeddings/Embedding.d.ts +5 -0
- package/transpiled/directives/vary/embeddings/Embedding.js +3 -0
- package/transpiled/directives/vary/embeddings/Embedding.js.map +1 -0
- package/transpiled/directives/vary/embeddings/Header.d.ts +7 -0
- package/transpiled/directives/vary/embeddings/Header.js +26 -0
- package/transpiled/directives/vary/embeddings/Header.js.map +1 -0
- package/transpiled/directives/vary/embeddings/Language.d.ts +7 -0
- package/transpiled/directives/vary/embeddings/Language.js +28 -0
- package/transpiled/directives/vary/embeddings/Language.js.map +1 -0
- package/transpiled/directives/vary/embeddings/index.d.ts +5 -0
- package/transpiled/directives/vary/embeddings/index.js +10 -0
- package/transpiled/directives/vary/embeddings/index.js.map +1 -0
- package/transpiled/directives/vary/index.d.ts +2 -0
- package/transpiled/directives/vary/index.js +6 -0
- package/transpiled/directives/vary/index.js.map +1 -0
- package/transpiled/discovery.d.ts +1 -0
- package/transpiled/discovery.js +3 -0
- package/transpiled/discovery.js.map +1 -0
- package/transpiled/exceptions.d.ts +2 -0
- package/transpiled/exceptions.js +39 -0
- package/transpiled/exceptions.js.map +1 -0
- package/transpiled/index.d.ts +5 -0
- package/transpiled/index.js +12 -0
- package/transpiled/index.js.map +1 -0
- package/transpiled/io.d.ts +3 -0
- package/transpiled/io.js +3 -0
- package/transpiled/io.js.map +1 -0
- package/transpiled/manifest.d.ts +3 -0
- package/transpiled/manifest.js +66 -0
- package/transpiled/manifest.js.map +1 -0
- package/transpiled/root.d.ts +2 -0
- package/transpiled/root.js +39 -0
- package/transpiled/root.js.map +1 -0
- package/transpiled/schemas.d.ts +7 -0
- package/transpiled/schemas.js +14 -0
- package/transpiled/schemas.js.map +1 -0
- package/transpiled/tsconfig.tsbuildinfo +1 -0
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
Feature: CORS Support
|
|
2
|
+
|
|
3
|
+
Scenario: Using CORS
|
|
4
|
+
Given the annotation:
|
|
5
|
+
"""yaml
|
|
6
|
+
/:
|
|
7
|
+
anonymous: true
|
|
8
|
+
/foo:
|
|
9
|
+
GET:
|
|
10
|
+
dev:stub: Hello
|
|
11
|
+
"""
|
|
12
|
+
When the following request is received:
|
|
13
|
+
"""
|
|
14
|
+
OPTIONS / HTTP/1.1
|
|
15
|
+
origin: https://hello.world
|
|
16
|
+
"""
|
|
17
|
+
Then the following reply is sent:
|
|
18
|
+
"""
|
|
19
|
+
204 No Content
|
|
20
|
+
access-control-allow-origin: https://hello.world
|
|
21
|
+
access-control-allow-methods: GET, POST, PUT, PATCH, DELETE
|
|
22
|
+
access-control-allow-headers: accept, authorization, content-type
|
|
23
|
+
access-control-allow-credentials: true
|
|
24
|
+
access-control-max-age: 3600
|
|
25
|
+
cache-control: public, max-age=3600
|
|
26
|
+
vary: origin
|
|
27
|
+
"""
|
|
28
|
+
When the following request is received:
|
|
29
|
+
"""
|
|
30
|
+
GET /foo/ HTTP/1.1
|
|
31
|
+
origin: https://hello.world
|
|
32
|
+
"""
|
|
33
|
+
Then the following reply is sent:
|
|
34
|
+
"""
|
|
35
|
+
200 OK
|
|
36
|
+
access-control-allow-origin: https://hello.world
|
|
37
|
+
access-control-expose-headers: authorization, content-type, content-length, etag
|
|
38
|
+
vary: origin
|
|
39
|
+
"""
|
|
40
|
+
|
|
41
|
+
Scenario: Errors contain CORS headers
|
|
42
|
+
Given the annotation:
|
|
43
|
+
"""yaml
|
|
44
|
+
/:
|
|
45
|
+
/foo:
|
|
46
|
+
GET:
|
|
47
|
+
dev:stub: Hello
|
|
48
|
+
"""
|
|
49
|
+
When the following request is received:
|
|
50
|
+
"""
|
|
51
|
+
GET /bar/ HTTP/1.1
|
|
52
|
+
origin: https://hello.world
|
|
53
|
+
"""
|
|
54
|
+
Then the following reply is sent:
|
|
55
|
+
"""
|
|
56
|
+
404 Not Found
|
|
57
|
+
access-control-allow-origin: https://hello.world
|
|
58
|
+
access-control-expose-headers: authorization, content-type, content-length, etag
|
|
59
|
+
vary: origin
|
|
60
|
+
"""
|
|
61
|
+
When the following request is received:
|
|
62
|
+
"""
|
|
63
|
+
GET /foo/ HTTP/1.1
|
|
64
|
+
origin: https://hello.world
|
|
65
|
+
"""
|
|
66
|
+
Then the following reply is sent:
|
|
67
|
+
"""
|
|
68
|
+
401 Unauthorized
|
|
69
|
+
access-control-allow-origin: https://hello.world
|
|
70
|
+
access-control-expose-headers: authorization, content-type, content-length, etag
|
|
71
|
+
vary: origin
|
|
72
|
+
"""
|
|
@@ -17,7 +17,7 @@ Feature: Identity resource
|
|
|
17
17
|
Then the following reply is sent:
|
|
18
18
|
"""
|
|
19
19
|
200 OK
|
|
20
|
-
authorization: Token ${{ token }}
|
|
20
|
+
authorization: Token ${{ User.token }}
|
|
21
21
|
|
|
22
22
|
id: efe3a65ebbee47ed95a73edd911ea328
|
|
23
23
|
roles:
|
|
@@ -27,14 +27,30 @@ Feature: Identity resource
|
|
|
27
27
|
When the following request is received:
|
|
28
28
|
"""
|
|
29
29
|
GET /identity/ HTTP/1.1
|
|
30
|
-
authorization: Token ${{ token }}
|
|
30
|
+
authorization: Token ${{ User.token }}
|
|
31
31
|
accept: application/yaml
|
|
32
32
|
"""
|
|
33
33
|
Then the following reply is sent:
|
|
34
34
|
"""
|
|
35
35
|
200 OK
|
|
36
36
|
|
|
37
|
-
id:
|
|
37
|
+
id: ${{ User.id }}
|
|
38
|
+
roles:
|
|
39
|
+
- developer
|
|
40
|
+
- system:identity
|
|
41
|
+
"""
|
|
42
|
+
# checking that it returns the same id for given token
|
|
43
|
+
When the following request is received:
|
|
44
|
+
"""
|
|
45
|
+
GET /identity/ HTTP/1.1
|
|
46
|
+
authorization: Token ${{ User.token }}
|
|
47
|
+
accept: application/yaml
|
|
48
|
+
"""
|
|
49
|
+
Then the following reply is sent:
|
|
50
|
+
"""
|
|
51
|
+
200 OK
|
|
52
|
+
|
|
53
|
+
id: ${{ User.id }}
|
|
38
54
|
roles:
|
|
39
55
|
- developer
|
|
40
56
|
- system:identity
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
Feature: Identity Federation
|
|
2
|
+
|
|
3
|
+
Background:
|
|
4
|
+
Given the `identity.federation` database is empty
|
|
5
|
+
Given local IDP is running
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
Scenario: Getting identity for a new user
|
|
9
|
+
Given the `identity.federation` configuration:
|
|
10
|
+
"""yaml
|
|
11
|
+
explicit_identity_creation: false
|
|
12
|
+
trust:
|
|
13
|
+
- issuer: http://localhost:44444
|
|
14
|
+
"""
|
|
15
|
+
And the IDP token for User is issued
|
|
16
|
+
When the following request is received:
|
|
17
|
+
"""
|
|
18
|
+
GET /identity/ HTTP/1.1
|
|
19
|
+
authorization: Bearer ${{ User.id_token }}
|
|
20
|
+
accept: application/yaml
|
|
21
|
+
content-type: application/yaml
|
|
22
|
+
"""
|
|
23
|
+
Then the following reply is sent:
|
|
24
|
+
"""
|
|
25
|
+
200 OK
|
|
26
|
+
authorization: Token ${{ User.token }}
|
|
27
|
+
|
|
28
|
+
id: ${{ User.id }}
|
|
29
|
+
roles: []
|
|
30
|
+
scheme: bearer
|
|
31
|
+
"""
|
|
32
|
+
# validate token
|
|
33
|
+
When the following request is received:
|
|
34
|
+
"""
|
|
35
|
+
GET /identity/ HTTP/1.1
|
|
36
|
+
accept: application/yaml
|
|
37
|
+
authorization: Token ${{ User.token }}
|
|
38
|
+
"""
|
|
39
|
+
Then the following reply is sent:
|
|
40
|
+
"""
|
|
41
|
+
200 OK
|
|
42
|
+
id: ${{ User.id }}
|
|
43
|
+
"""
|
|
44
|
+
# ensuring identity idemptotency
|
|
45
|
+
When the following request is received:
|
|
46
|
+
"""
|
|
47
|
+
GET /identity/ HTTP/1.1
|
|
48
|
+
authorization: Bearer ${{ User.id_token }}
|
|
49
|
+
accept: application/yaml
|
|
50
|
+
"""
|
|
51
|
+
Then the following reply is sent:
|
|
52
|
+
"""
|
|
53
|
+
200 OK
|
|
54
|
+
id: ${{ User.id }}
|
|
55
|
+
"""
|
|
56
|
+
|
|
57
|
+
Scenario: Getting identity for a user with symmetric tokens
|
|
58
|
+
Given the `identity.federation` configuration:
|
|
59
|
+
"""yaml
|
|
60
|
+
explicit_identity_creation: false
|
|
61
|
+
trust:
|
|
62
|
+
- issuer: http://localhost:44444
|
|
63
|
+
secrets:
|
|
64
|
+
HS384:
|
|
65
|
+
k1: the-secret
|
|
66
|
+
"""
|
|
67
|
+
And the IDP HS384 token for GoodUser is issued with following secret:
|
|
68
|
+
"""
|
|
69
|
+
the-secret
|
|
70
|
+
"""
|
|
71
|
+
When the following request is received:
|
|
72
|
+
"""
|
|
73
|
+
GET /identity/ HTTP/1.1
|
|
74
|
+
authorization: Bearer ${{ GoodUser.id_token }}
|
|
75
|
+
accept: application/yaml
|
|
76
|
+
content-type: application/yaml
|
|
77
|
+
"""
|
|
78
|
+
Then the following reply is sent:
|
|
79
|
+
"""
|
|
80
|
+
200 OK
|
|
81
|
+
authorization: Token ${{ GoodUser.token }}
|
|
82
|
+
|
|
83
|
+
id: ${{ GoodUser.id }}
|
|
84
|
+
scheme: bearer
|
|
85
|
+
"""
|
|
86
|
+
|
|
87
|
+
Scenario: Creating an Identity using inception with existing credentials
|
|
88
|
+
Given the `identity.federation` configuration:
|
|
89
|
+
"""yaml
|
|
90
|
+
trust:
|
|
91
|
+
- issuer: http://localhost:44444
|
|
92
|
+
"""
|
|
93
|
+
Given the `users` is running with the following manifest:
|
|
94
|
+
"""yaml
|
|
95
|
+
exposition:
|
|
96
|
+
/:
|
|
97
|
+
anonymous: true
|
|
98
|
+
POST:
|
|
99
|
+
incept: id
|
|
100
|
+
endpoint: create
|
|
101
|
+
"""
|
|
102
|
+
And the IDP token for Bill is issued
|
|
103
|
+
When the following request is received:
|
|
104
|
+
# identity inception
|
|
105
|
+
"""
|
|
106
|
+
POST /users/ HTTP/1.1
|
|
107
|
+
authorization: Bearer ${{ Bill.id_token }}
|
|
108
|
+
accept: application/yaml
|
|
109
|
+
content-type: application/yaml
|
|
110
|
+
|
|
111
|
+
name: Bill Smith
|
|
112
|
+
"""
|
|
113
|
+
Then the following reply is sent:
|
|
114
|
+
"""
|
|
115
|
+
201 Created
|
|
116
|
+
authorization: Token ${{ Bill.token }}
|
|
117
|
+
|
|
118
|
+
id: ${{ Bill.id }}
|
|
119
|
+
"""
|
|
120
|
+
# check that both tokens corresponds to the same id
|
|
121
|
+
When the following request is received:
|
|
122
|
+
"""
|
|
123
|
+
GET /identity/ HTTP/1.1
|
|
124
|
+
authorization: Token ${{ Bill.token }}
|
|
125
|
+
accept: application/yaml
|
|
126
|
+
"""
|
|
127
|
+
Then the following reply is sent:
|
|
128
|
+
"""
|
|
129
|
+
200 OK
|
|
130
|
+
id: ${{ Bill.id }}
|
|
131
|
+
"""
|
|
132
|
+
When the following request is received:
|
|
133
|
+
"""
|
|
134
|
+
GET /identity/ HTTP/1.1
|
|
135
|
+
authorization: Bearer ${{ Bill.id_token }}
|
|
136
|
+
accept: application/yaml
|
|
137
|
+
"""
|
|
138
|
+
Then the following reply is sent:
|
|
139
|
+
"""
|
|
140
|
+
200 OK
|
|
141
|
+
id: ${{ Bill.id }}
|
|
142
|
+
"""
|
|
143
|
+
And the following request is received:
|
|
144
|
+
# same credentials
|
|
145
|
+
"""
|
|
146
|
+
POST /users/ HTTP/1.1
|
|
147
|
+
authorization: Bearer ${{ Bill.id_token }}
|
|
148
|
+
content-type: text/plain
|
|
149
|
+
|
|
150
|
+
name: Mary Louis
|
|
151
|
+
"""
|
|
152
|
+
Then the following reply is sent:
|
|
153
|
+
"""
|
|
154
|
+
403 Forbidden
|
|
155
|
+
"""
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
Feature: Accessing entires
|
|
2
|
+
|
|
3
|
+
Scenario: Entries are not accessible by default
|
|
4
|
+
Given the annotation:
|
|
5
|
+
"""yaml
|
|
6
|
+
/:
|
|
7
|
+
auth:anonymous: true
|
|
8
|
+
octets:context: octets
|
|
9
|
+
POST:
|
|
10
|
+
octets:store: ~
|
|
11
|
+
GET:
|
|
12
|
+
octets:list: ~
|
|
13
|
+
/*:
|
|
14
|
+
GET:
|
|
15
|
+
octets:fetch: ~
|
|
16
|
+
"""
|
|
17
|
+
When the stream of `lenna.ascii` is received with the following headers:
|
|
18
|
+
"""
|
|
19
|
+
POST / HTTP/1.1
|
|
20
|
+
content-type: application/octet-stream
|
|
21
|
+
"""
|
|
22
|
+
Then the following reply is sent:
|
|
23
|
+
"""
|
|
24
|
+
201 Created
|
|
25
|
+
"""
|
|
26
|
+
When the following request is received:
|
|
27
|
+
"""
|
|
28
|
+
GET / HTTP/1.1
|
|
29
|
+
accept: application/vnd.toa.octets.entries+yaml
|
|
30
|
+
"""
|
|
31
|
+
Then the following reply is sent:
|
|
32
|
+
"""
|
|
33
|
+
403 Forbidden
|
|
34
|
+
|
|
35
|
+
Metadata is not accessible.
|
|
36
|
+
"""
|
|
37
|
+
When the following request is received:
|
|
38
|
+
"""
|
|
39
|
+
GET /10cf16b458f759e0d617f2f3d83599ff HTTP/1.1
|
|
40
|
+
accept: text/vnd.toa.octets.entry+plain
|
|
41
|
+
"""
|
|
42
|
+
Then the following reply is sent:
|
|
43
|
+
"""
|
|
44
|
+
403 Forbidden
|
|
45
|
+
|
|
46
|
+
Metadata is not accessible.
|
|
47
|
+
"""
|
|
48
|
+
|
|
49
|
+
Scenario: Accessing entries
|
|
50
|
+
Given the annotation:
|
|
51
|
+
"""yaml
|
|
52
|
+
/:
|
|
53
|
+
auth:anonymous: true
|
|
54
|
+
octets:context: octets
|
|
55
|
+
POST:
|
|
56
|
+
octets:store: ~
|
|
57
|
+
GET:
|
|
58
|
+
octets:list:
|
|
59
|
+
meta: true
|
|
60
|
+
/*:
|
|
61
|
+
GET:
|
|
62
|
+
octets:fetch:
|
|
63
|
+
meta: true
|
|
64
|
+
"""
|
|
65
|
+
When the stream of `lenna.ascii` is received with the following headers:
|
|
66
|
+
"""
|
|
67
|
+
POST / HTTP/1.1
|
|
68
|
+
accept: application/yaml
|
|
69
|
+
content-type: application/octet-stream
|
|
70
|
+
"""
|
|
71
|
+
And the stream of `lenna.png` is received with the following headers:
|
|
72
|
+
"""
|
|
73
|
+
POST / HTTP/1.1
|
|
74
|
+
accept: application/yaml
|
|
75
|
+
content-type: application/octet-stream
|
|
76
|
+
"""
|
|
77
|
+
When the following request is received:
|
|
78
|
+
"""
|
|
79
|
+
GET / HTTP/1.1
|
|
80
|
+
accept: application/yaml
|
|
81
|
+
"""
|
|
82
|
+
Then the following reply is sent:
|
|
83
|
+
"""
|
|
84
|
+
200 OK
|
|
85
|
+
content-type: application/yaml
|
|
86
|
+
|
|
87
|
+
- 10cf16b458f759e0d617f2f3d83599ff
|
|
88
|
+
- 814a0034f5549e957ee61360d87457e5
|
|
89
|
+
"""
|
|
90
|
+
When the following request is received:
|
|
91
|
+
"""
|
|
92
|
+
GET / HTTP/1.1
|
|
93
|
+
accept: application/vnd.toa.octets.entries+yaml
|
|
94
|
+
"""
|
|
95
|
+
Then the following reply is sent:
|
|
96
|
+
"""
|
|
97
|
+
200 OK
|
|
98
|
+
content-type: application/yaml
|
|
99
|
+
|
|
100
|
+
- id: 10cf16b458f759e0d617f2f3d83599ff
|
|
101
|
+
size: 8169
|
|
102
|
+
type: application/octet-stream
|
|
103
|
+
- id: 814a0034f5549e957ee61360d87457e5
|
|
104
|
+
size: 473831
|
|
105
|
+
type: image/png
|
|
106
|
+
"""
|
|
107
|
+
When the following request is received:
|
|
108
|
+
"""
|
|
109
|
+
GET /10cf16b458f759e0d617f2f3d83599ff HTTP/1.1
|
|
110
|
+
accept: application/vnd.toa.octets.entry+yaml
|
|
111
|
+
"""
|
|
112
|
+
Then the following reply is sent:
|
|
113
|
+
"""
|
|
114
|
+
200 OK
|
|
115
|
+
content-type: application/yaml
|
|
116
|
+
content-length: 124
|
|
117
|
+
|
|
118
|
+
id: 10cf16b458f759e0d617f2f3d83599ff
|
|
119
|
+
type: application/octet-stream
|
|
120
|
+
size: 8169
|
|
121
|
+
"""
|
package/features/octets.feature
CHANGED
|
@@ -70,17 +70,6 @@ Feature: Octets directive family
|
|
|
70
70
|
"""
|
|
71
71
|
304 Not Modified
|
|
72
72
|
"""
|
|
73
|
-
When the following request is received:
|
|
74
|
-
"""
|
|
75
|
-
GET /10cf16b458f759e0d617f2f3d83599ff:meta HTTP/1.1
|
|
76
|
-
accept: text/plain
|
|
77
|
-
"""
|
|
78
|
-
Then the following reply is sent:
|
|
79
|
-
"""
|
|
80
|
-
403 Forbidden
|
|
81
|
-
|
|
82
|
-
Metadata is not accessible.
|
|
83
|
-
"""
|
|
84
73
|
When the following request is received:
|
|
85
74
|
"""
|
|
86
75
|
GET / HTTP/1.1
|
|
@@ -245,10 +234,9 @@ Feature: Octets directive family
|
|
|
245
234
|
Trailing slash is redundant.
|
|
246
235
|
"""
|
|
247
236
|
|
|
248
|
-
Scenario:
|
|
237
|
+
Scenario: Original BLOLB is not accessible
|
|
249
238
|
Given the annotation:
|
|
250
239
|
"""yaml
|
|
251
|
-
debug: true
|
|
252
240
|
/:
|
|
253
241
|
auth:anonymous: true
|
|
254
242
|
octets:context: octets
|
|
@@ -268,24 +256,10 @@ Feature: Octets directive family
|
|
|
268
256
|
"""
|
|
269
257
|
201 Created
|
|
270
258
|
"""
|
|
271
|
-
When the following request is received:
|
|
272
|
-
"""
|
|
273
|
-
GET /10cf16b458f759e0d617f2f3d83599ff:meta HTTP/1.1
|
|
274
|
-
accept: application/yaml
|
|
275
|
-
"""
|
|
276
|
-
Then the following reply is sent:
|
|
277
|
-
"""
|
|
278
|
-
200 OK
|
|
279
|
-
content-type: application/yaml
|
|
280
|
-
content-length: 124
|
|
281
|
-
|
|
282
|
-
id: 10cf16b458f759e0d617f2f3d83599ff
|
|
283
|
-
type: application/octet-stream
|
|
284
|
-
size: 8169
|
|
285
|
-
"""
|
|
286
259
|
When the following request is received:
|
|
287
260
|
"""
|
|
288
261
|
GET /10cf16b458f759e0d617f2f3d83599ff HTTP/1.1
|
|
262
|
+
accept: text/plain
|
|
289
263
|
"""
|
|
290
264
|
Then the following reply is sent:
|
|
291
265
|
"""
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
Feature: Octets `content-meta` header
|
|
2
|
+
|
|
3
|
+
Scenario: Sending `content-meta` header
|
|
4
|
+
Given the `octets.tester` is running
|
|
5
|
+
And the annotation:
|
|
6
|
+
"""yaml
|
|
7
|
+
/:
|
|
8
|
+
auth:anonymous: true
|
|
9
|
+
octets:context: octets
|
|
10
|
+
/*:
|
|
11
|
+
POST:
|
|
12
|
+
octets:store: ~
|
|
13
|
+
/*:
|
|
14
|
+
GET:
|
|
15
|
+
octets:fetch:
|
|
16
|
+
meta: true
|
|
17
|
+
"""
|
|
18
|
+
When the stream of `lenna.ascii` is received with the following headers:
|
|
19
|
+
"""
|
|
20
|
+
POST /meta-header/ HTTP/1.1
|
|
21
|
+
content-type: application/octet-stream
|
|
22
|
+
content-meta: foo, bar=baz=1
|
|
23
|
+
content-meta: baz=1
|
|
24
|
+
"""
|
|
25
|
+
Then the following reply is sent:
|
|
26
|
+
"""
|
|
27
|
+
201 Created
|
|
28
|
+
"""
|
|
29
|
+
When the following request is received:
|
|
30
|
+
"""
|
|
31
|
+
GET /meta-header/10cf16b458f759e0d617f2f3d83599ff HTTP/1.1
|
|
32
|
+
accept: application/vnd.toa.octets.entry+yaml
|
|
33
|
+
"""
|
|
34
|
+
Then the following reply is sent:
|
|
35
|
+
"""
|
|
36
|
+
200 OK
|
|
37
|
+
|
|
38
|
+
id: 10cf16b458f759e0d617f2f3d83599ff
|
|
39
|
+
type: application/octet-stream
|
|
40
|
+
size: 8169
|
|
41
|
+
meta:
|
|
42
|
+
foo: 'true'
|
|
43
|
+
bar: baz=1
|
|
44
|
+
baz: '1'
|
|
45
|
+
"""
|
|
46
|
+
|
|
47
|
+
Scenario: CORS allows `content-meta` header
|
|
48
|
+
Given the annotation:
|
|
49
|
+
"""yaml
|
|
50
|
+
/:
|
|
51
|
+
octets:context: octets
|
|
52
|
+
POST:
|
|
53
|
+
octets:store: ~
|
|
54
|
+
"""
|
|
55
|
+
When the following request is received:
|
|
56
|
+
"""
|
|
57
|
+
OPTIONS / HTTP/1.1
|
|
58
|
+
origin: http://example.com
|
|
59
|
+
"""
|
|
60
|
+
Then the following reply is sent:
|
|
61
|
+
"""
|
|
62
|
+
204 No Content
|
|
63
|
+
access-control-allow-origin: http://example.com
|
|
64
|
+
access-control-allow-headers: accept, authorization, content-type, content-meta
|
|
65
|
+
"""
|