Compare commits
1 Commits
feat/call/
...
f12e227df0
| Author | SHA1 | Date | |
|---|---|---|---|
| f12e227df0 |
@@ -1,7 +1,7 @@
|
|||||||
---
|
---
|
||||||
id: call/registry/invoke-streaming
|
id: call/registry/invoke-streaming
|
||||||
name: Implement OperationRegistry::invoke_streaming() returning ResponseStream
|
name: Implement OperationRegistry::invoke_streaming() returning ResponseStream
|
||||||
status: pending
|
status: completed
|
||||||
depends_on: [call/registry/streaming-handler-handlerkind]
|
depends_on: [call/registry/streaming-handler-handlerkind]
|
||||||
scope: narrow
|
scope: narrow
|
||||||
risk: medium
|
risk: medium
|
||||||
@@ -167,4 +167,4 @@ streams. The error envelope carries the `request_id` from the context.
|
|||||||
|
|
||||||
## Summary
|
## Summary
|
||||||
|
|
||||||
> To be filled on completion
|
> Added OperationRegistry::invoke_streaming() in crates/alknet-call/src/registry/registration.rs — the streaming dispatch path for Subscription operations. Same visibility + ACL checks as invoke() (provably identical security axis), then dispatches the StreamingHandler and returns its ResponseStream. Pre-handler errors (not-found, forbidden, INVALID_OPERATION_TYPE for non-Subscription ops) yield a single error ResponseEnvelope via stream::once, then end. Added 6 unit tests covering all paths (subscription dispatch, unknown op, query op cross-kind error, internal op from external, ACL denied, internal call using handler_identity).
|
||||||
Reference in New Issue
Block a user