Skip to content

horde/Rpc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

384 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Horde RPC Library

RPC adapters for Horde's API system. Modern implementations share a dispatch layer (ApiProviderInterface, MethodInvokerInterface) across protocols — write a provider once, serve it over JSON-RPC, MCP, and SOAP.

Protocols

JSON-RPC

Modern src/JsonRpc/ — PSR-7/15/18, JSON-RPC 1.1 and 2.0
Legacy lib/Horde/Rpc/Jsonrpc.php
Docs doc/JSONRPC-USAGE.md

MCP (Model Context Protocol)

Modern src/Mcp/MCP spec, Streamable HTTP transport
Docs doc/MCP-USAGE.md

SOAP

Modern src/Soap/ — PSR-15, ext-soap (optional) in WSDL-less mode
Legacy lib/Horde/Rpc/Soap.php
Docs doc/SOAP-USAGE.md

XML-RPC

Legacy lib/Horde/Rpc/Xmlrpc.php — requires ext-xmlrpc, will probably not work in most modern PHP installations XML-RPC spec

Delegation Protocols

These delegate to other Horde packages:

Shared Dispatch Layer

JsonRpcHandler ──┐
McpServer ───────┤── ApiProviderInterface / MethodInvokerInterface
SoapHandler ─────┘

Providers

CallableMapProvider - a generic map of callables to API names MathApiProvider - an educational example API provider HordeRegistryApiProvider - Integrates the Horde Registry Inter-App API

All modern handlers implement both RequestHandlerInterface and MiddlewareInterface for flexible middleware stacking.

Packages

 
 
 

Contributors

Languages