name:                jsonrpc-conduit
version:             0.3.3
synopsis:            JSON-RPC 2.0 server over a Conduit.
description:
  @jsonrpc-conduit@ implements the basic building block of a JSON-RPC 2.0 server.
  .
  It provides a @Conduit@ that consumes RPC requests and invokes user-provided
  functions to handle them. Conversion of values to and from JSON is almost
  completely automatic thanks to the @aeson@ library.
  .
  The JSON-RPC conduit is generic with respect to the channel used to exchange
  data with the client. It can use a network connection or, for example,
  the standard input / ouput  of a process.

license:             GPL-3
license-file:        LICENSE
author:              Gabriele Sales
maintainer:          gbrsales@gmail.com
category:            Conduit
build-type:          Simple
cabal-version:       2.0
tested-with:         GHC >= 8.6.5

source-repository head
  type:     git
  location: https://github.com/gbrsales/jsonrpc-conduit.git

library
  default-language:    Haskell2010
  hs-source-dirs:      src
  exposed-modules:     Data.Conduit.JsonRpc.Internal.Types,
                       Data.Conduit.JsonRpc.Methods,
                       Data.Conduit.JsonRpc.Server
  build-depends:       base >=4 && <5,
                       aeson >=0.7 && <1.6,
                       attoparsec >=0.11 && <0.15,
                       bytestring >=0.10 && <0.12,
                       conduit >=1.2.8 && <1.4,
                       conduit-extra >=1.1 && <1.4,
                       mtl >=2.1 && <2.3,
                       text >=1.1 && <1.3,
                       transformers >=0.3 && <0.6,
                       unordered-containers ==0.2.*
  ghc-options:         -Wall -fno-warn-name-shadowing

test-suite spec
  type:                exitcode-stdio-1.0
  default-language:    Haskell2010
  hs-source-dirs:      test
  main-is:             Spec.hs
  other-modules:       Data.Conduit.JsonRpc.ServerSpec
  build-depends:       base >=4 && <5,
                       aeson >=0.7 && <1.6,
                       bytestring >=0.10 && <0.12,
                       conduit >=1.2.8 && <1.4,
                       conduit-extra >=1.1 && <1.4,
                       hspec >=2.1 && <2.8,
                       jsonrpc-conduit,
                       text >=1.1 && <1.3
  build-tool-depends:  hspec-discover:hspec-discover
  ghc-options:         -Wall -fno-warn-name-shadowing