Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/juliendelplanque/jrpc
Yet another JSON-RPC 2.0 implementation for Pharo Smalltalk
https://github.com/juliendelplanque/jrpc
json-rpc jsonrpc2 pharo rpc rpc-client rpc-server
Last synced: about 2 months ago
JSON representation
Yet another JSON-RPC 2.0 implementation for Pharo Smalltalk
- Host: GitHub
- URL: https://github.com/juliendelplanque/jrpc
- Owner: juliendelplanque
- License: mit
- Created: 2018-10-27T15:31:23.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2023-05-22T14:01:46.000Z (over 1 year ago)
- Last Synced: 2024-10-10T13:28:04.567Z (2 months ago)
- Topics: json-rpc, jsonrpc2, pharo, rpc, rpc-client, rpc-server
- Language: Smalltalk
- Size: 185 KB
- Stars: 10
- Watchers: 7
- Forks: 6
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# JRPC
[![Unit Tests](https://github.com/juliendelplanque/JRPC/actions/workflows/unit-tests.yml/badge.svg)](https://github.com/juliendelplanque/JRPC/actions/workflows/unit-tests.yml)
[![Coverage Status](https://codecov.io/github/juliendelplanque/JRPC/coverage.svg?branch=master)](https://codecov.io/gh/juliendelplanque/JRPC/branch/master)
[![Baseline Groups](https://github.com/juliendelplanque/JRPC/actions/workflows/loading-groups.yml/badge.svg)](https://github.com/juliendelplanque/JRPC/actions/workflows/loading-groups.yml)[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
[![Pharo version](https://img.shields.io/badge/Pharo-6.1-%23aac9ff.svg)](https://pharo.org/download)
[![Pharo version](https://img.shields.io/badge/Pharo-7.0-%23aac9ff.svg)](https://pharo.org/download)
[![Pharo version](https://img.shields.io/badge/Pharo-8.0-%23aac9ff.svg)](https://pharo.org/download)
[![Pharo version](https://img.shields.io/badge/Pharo-9.0-%23aac9ff.svg)](https://pharo.org/download)
[![Pharo 10](https://img.shields.io/badge/Pharo-10-%23aac9ff.svg)](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.## Examples
Explore the [documentation](docs/Examples.md)
## Installation
To load the project in a Pharo image or declare it as a dependency of your project follow this [instructions](docs/Installation.md).
## 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)