Yet another JSON-RPC 2.0 implementation for Pharo Smalltalk
# JRPC [](https://github.com/juliendelplanque/JRPC/actions/workflows/unit-tests.yml) [](https://codecov.io/gh/juliendelplanque/JRPC/branch/master) [](https://github.com/juliendelplanque/JRPC/actions/workflows/loading-groups.yml) [](LICENSE) [](https://pharo.org/download) [](https://pharo.org/download) [](https://pharo.org/download) [](https://pharo.org/download) [](https://pharo.org/download) Yet another [JSON-RPC 2.0](https://www.jsonrpc.org/specification) implementation for Pharo Smalltalk - [Features](#features) - [Installation](#installation) - [Examples](#examples) - [Comparison with other JSON RPC implementations](#jrpc-vs-others) - [Contributing](#contributing) ## Features - Client and Server support for JSON-RPC 2.0. - Only depends on Pharo's built-in packages. - Uses STONJSON to parse JSON internally. - Transport agnostic (like JSON-RPC 2.0 spec claims). - Can currently be used over - HTTP - TCP - It is easy to add other transport layers. - Additional `data` when an error occured in the `error` object. ## Installation To load the project in a Pharo image or declare it as a dependency of your project follow this [instructions](docs/Installation.md). ## Examples Explore the [documentation](docs/Examples.md) ## Implementation details See how [message processing](docs/MessageProcessing.md) works in detail. ## Comparison with other JSON RPC implementations | Property | JRPC | LtJsonRpc | NeoJSONRPC | |--------------|--------------------|--------------------|--------------------| | Server | :white_check_mark: | :white_check_mark: | :x: | | Client | :white_check_mark: | :white_check_mark: | :white_check_mark: | | JSON backend | STONJSON | Json | NeoJSON | | Tests | :white_check_mark: | :x: | :x: | ## Contributing Check the [Contribution Guidelines](CONTRIBUTING.md)