Write clients for Meteor's DDP Protocol http://github.com/sordina/Deadpan-DDP
|Latest on Hackage:||0.9.6.0|
This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.
The Deadpan-DDP project includes a debugging-tool, as well as a general purpose library.
The DDP tech-stack is: Websockets -> JSON -> EJson -> Collections -> Subscriptions + RPC.
In order to use the debugging tool, install this package and run
deadpan for a usage
In order to use the library, simply import
The DSL monad is largely based around RPC calls and callbacks.
In order to write an application you would call
An initial application state (this includes initial callbacks)
A set of connection parameters
There are several callback-sets provided in
however, if you want to pick in a more granular fashion,
The connection parameters are the triple (Domain, Port, Path)...
For convenience the function getURI is provided to turn a URI of the form websocket://localhost:3000/websocket into the triple (Right ("localhost", 3000, "websocket"))... or an error (Left "error message").
Refer to the README.md on Github for more information.
Deadpan-DDP Change Log
- RPC now only takes a list of params
- Hex GUID strings
- Better TODO Example
- Added subscription methods that return the subscription id
- Fixed the exit error
- Made GUID newtype abstract to prevent abuse
- Added newtype for IDs to prevent library mistakes
- Subscription capabilities have begun to be added
- Add Data
- Remove Data
- Modify Data (Simplistic)
- Wait on subscription
- Fixed some bugs
- RPC responses now return an Either to indicate success or failure
- Large refactor including API changes
- No longer require specifying app-state to run an app
- Added blocking RPCWait
- Added further callback implementations
- Added test-app
- Added documentation
- Completed adding RPC method call support
- Updated license file to include copyright info
- Custom Show instance to render prettier output in debugging app [09c9876]
- Improved error reporting in debugging app [6dcf272]
- Added a Changelog
Initial version uploaded to Hackage.
Some values still undefined.