Merged
Conversation
Remodels the old horde/rpc into a PSR-7 based Request Handler / Middleware approach. Emits events for a PSR-14 EventListener instead of native logging/observability handling. Currently implements soap (wsdl-less, backed by php-ext-soap) and json-rpc (now both for 1.1 and 2.0 protocols) On top of JSON-RPC it also models a simple MCP protocol for tools and resources. The new library is decoupled from Horde context, i.e. the Registry is now one of many pluggable API providers. The Registry API provider may need to migrate into a separate package in a later stage but we are not there yet. In middleware mode, the protocol handlers check if the incoming request looks like it is for them to handle and if not, they pass to the next middleware. In handler mode, a request not matching protocol expectations emits an appropriate error response format. Implementing ActiveSync and DAV Protocol Handlers in the same fashion needs some ground work in other areas first.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Modern RPC Server Design
Documentation
See docs folder for architecture description