Repository navigation
Conversation
- Transports need to list a context's entries and combine contexts, for instance to add the decoded Mcp-Param-* headers to a context built by a user-provided extractor. - This introduces a way to merge McpTransportContext. To do so, it introduces a way to read entries from the contexts, by key-value. - This change is non-breaking but custom implementations of McpTransportContext used in the modern server MUST implement stream(). The implementation is inspired from Reactor's Context. Signed-off-by: Daniel Garnier-Moiroux <git@garnier.wf>
f862bd8 to
7a6a9df
Compare
|
#1288 as an alternative solution to the need. Reasons:
Thus, we can avoid the breaking change and just have a default method with a working implementation. |
|
@chemicL I didn't go with this approach because a user's Wrapping it all in an "overlay" breaks the user's type. But reducing to |
|
There is no guarantee that what the user gets in handlers is the same that the extractor returned. I don't think we should protect implementations that assume their specific type to be present. We do adhere to the contract of providing an instance of the interface, that's all. |
The implementation is inspired from Reactor's Context.