Skip to content

Scala RPC using Autowire but with Circe for serialization instead of uPickle

License

Notifications You must be signed in to change notification settings

aholland/autowire-circe

Repository files navigation

autowire-circe

Scala RPC using Autowire but with Circe for serialization instead of uPickle

To see demo:

  1. git clone https://github.com/aholland/autowire-circe.git
  2. sbt run
  3. Browse http://localhost:9000/

The key types are:
Server: autowire.AutoWireServer, controllers.AutoWireController
Shared: shared.autowire.SharedApi
Client: client.comms.Client

The example call to the server is in client.Mainin method loadInitialData.

AutoWire: https://github.com/lihaoyi/autowire
uPickle: https://github.com/lihaoyi/upickle-pprint
Circe: https://circe.github.io/circe/

The uPickle bug which motivated the shift to Circe: com-lihaoyi/upickle#168

Pull Requests welcome.

NOTE: Circe will in some situations fail to decode optional parameters correctly. The work-around is to put them in a "Holder" case class. More details here: https://github.com/aholland/circe-option-problem

About

Scala RPC using Autowire but with Circe for serialization instead of uPickle

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages