Skip to content

Functions for creating a Haskell JSON-RPC 2.0 client.

License

Notifications You must be signed in to change notification settings

charles37/json-rpc-client

 
 

Repository files navigation

json-rpc-client

Hackage Build Status

Functions for creating a JSON-RPC 2.0 client. See http://www.jsonrpc.org/specification. This library supports batch requests and notifications, as well as single method calls. It also provides a function for creating corresponding server-side methods with the package json-rpc-server. This library does not handle transport, so a function for communicating with the server must be provided.

CHANGES I MADE

  1. Compatibility with Aeson 2: Modifications to ensure compatibility with version 2 of the Aeson library, involving changes from HashMap to Aeson.KeyMap and Aeson.Key for JSON object manipulation.

  2. Text to Key Fix: Adjustments for issues related to transitioning from text strings to Aeson's Key type in JSON object keys, as part of Aeson 2 compatibility efforts.

  3. GHC 9 Warnings Ignored: Explicit ignoring of warnings produced by GHC version 9, likely to allow compilation without addressing these warnings directly.

  4. Fixed Typo in GHC Option: Correction of a typo in a GHC compilation option, pertaining to compiler flags used in the project configuration or build processes.

  5. Temporarily Removing Tests to Build: Temporary removal of tests to facilitate building the project, indicating a workaround for test failures or dependency issues during development.

  6. Test File Edits: Modifications to test files, possibly including compatibility adjustments for library updates, changes in testing strategies, or improvements to test coverage and effectiveness.

  7. Code Refactoring and Bug Fixes:

    • Refactoring to use replicateM instead of sequenceA . replicate for creating a batch of RPC calls, improving readability or efficiency.
    • Updates for Aeson's KeyMap and Key types use in JSON object construction and manipulation, reflecting Aeson 2 compatibility.
    • Miscellaneous fixes and improvements, including adjustments to GHC options and handling of JSON RPC identifiers.

These changes reflect a focused effort on updating the library for newer versions of dependencies (like Aeson 2), addressing compiler warnings, and improving the codebase through various fixes and refactoring.

About

Functions for creating a Haskell JSON-RPC 2.0 client.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Haskell 100.0%