Mercury, a JSON-RPC library for Scala
A modular JSON-RPC 2.0 library that allows pluggable transport layers, JSON libraries, and effect/async monads.
Developed at Lightform to communicate with embedded devices where the device is acting in the server role.
This project has the following guiding goals:
- Free and open source license
- Allow for swappable transports
- Allow for swappable JSON libraries
- Be practical when transport layer details leak (eg. user ID from HTTP auth request header needs to be available to logic code but isn’t in the params section of the request)
- Be usable without code generation (especially client), although we hope to eventually support code generation.
If something you’re looking for isn’t listed below, click here!
Feel free to open an issue with questions.
Currently supported transports
Currently supported JSON libraries