cabal-version:       >=1.10
name:                servant-http-streams
version:             0.17

synopsis:            Automatic derivation of querying functions for servant
category:            Servant, Web
description:
  This library lets you derive automatically Haskell functions that
  let you query each endpoint of a <http://hackage.haskell.org/package/servant servant> webservice.
  .
  See <http://docs.servant.dev/en/stable/tutorial/Client.html the client section of the tutorial>.
  .
  <https://github.com/haskell-servant/servant/blob/master/servant-client/CHANGELOG.md CHANGELOG>

homepage:            http://docs.servant.dev/
bug-reports:         http://github.com/haskell-servant/servant/issues
license:             BSD3
license-file:        LICENSE
author:              Servant Contributors
maintainer:          haskell-servant-maintainers@googlegroups.com
copyright:           2019 Servant Contributors
build-type:          Simple
tested-with:
  GHC ==8.0.2
   || ==8.2.2
   || ==8.4.4
   || ==8.6.5
   || ==8.8.2

extra-source-files:
  CHANGELOG.md
  README.md

source-repository head
  type: git
  location: http://github.com/haskell-servant/servant.git

library
  exposed-modules:
    Servant.HttpStreams
    Servant.HttpStreams.Internal

  -- Bundled with GHC: Lower bound to not force re-installs
  -- text and mtl are bundled starting with GHC-8.4
  build-depends:
      base                  >= 4.9      && < 4.14
    , bytestring            >= 0.10.8.1 && < 0.11
    , containers            >= 0.5.7.1  && < 0.7
    , deepseq               >= 1.4.2.0  && < 1.5
    , mtl                   >= 2.2.2    && < 2.3
    , text                  >= 1.2.3.0  && < 1.3
    , time                  >= 1.6.0.1  && < 1.10
    , transformers          >= 0.5.2.0  && < 0.6

  if !impl(ghc >= 8.2)
    build-depends:
      bifunctors >= 5.5.3 && < 5.6

  -- Servant dependencies.
  -- Strict dependency on `servant-client-core` as we re-export things.
  build-depends:
      servant               == 0.17.*
    , servant-client-core   >= 0.17 && <0.17.1

  -- Other dependencies: Lower bound around what is in the latest Stackage LTS.
  -- Here can be exceptions if we really need features from the newer versions.
  build-depends:
      base-compat           >= 0.10.5   && < 0.12
    , case-insensitive
    , http-streams          >= 0.8.6.1  && < 0.9
    , http-media            >= 0.7.1.3  && < 0.9
    , io-streams            >= 1.5.0.1  && < 1.6
    , http-types            >= 0.12.2   && < 0.13
    , http-common           >= 0.8.2.0  && < 0.9
    , exceptions            >= 0.10.0   && < 0.11
    , kan-extensions        >= 5.2      && < 5.3
    , monad-control         >= 1.0.2.3  && < 1.1
    , semigroupoids         >= 5.3.1    && < 5.4
    , transformers-base     >= 0.4.5.2  && < 0.5
    , transformers-compat   >= 0.6.2    && < 0.7

  hs-source-dirs: src
  default-language: Haskell2010
  ghc-options: -Wall -Wno-redundant-constraints

test-suite spec
  type: exitcode-stdio-1.0
  ghc-options: -Wall -rtsopts -threaded "-with-rtsopts=-T -N2"
  default-language: Haskell2010
  hs-source-dirs: test
  main-is: Spec.hs
  other-modules:
      Servant.ClientSpec
      Servant.StreamSpec

  -- Dependencies inherited from the library. No need to specify bounds.
  build-depends:
      base
    , aeson
    , base-compat
    , bytestring
    , http-api-data
    , http-streams
    , deepseq
    , http-types
    , mtl
    , kan-extensions
    , servant-http-streams
    , servant-client-core
    , stm
    , text
    , transformers
    , transformers-compat
    , wai
    , warp

  -- Additonal dependencies
  build-depends:
      entropy           >= 0.4.1.3  && < 0.5
    , hspec             >= 2.6.0    && < 2.8
    , HUnit             >= 1.6.0.0  && < 1.7
    , network           >= 2.8.0.0  && < 3.2
    , QuickCheck        >= 2.12.6.1 && < 2.14
    , servant           == 0.17.*
    , servant-server    == 0.17.*
    , tdigest           >= 0.2     && < 0.3

  build-tool-depends:
    hspec-discover:hspec-discover >= 2.6.0 && < 2.8

test-suite readme
  type:           exitcode-stdio-1.0
  main-is:        README.lhs
  build-depends:  base, servant, http-streams, text, servant-http-streams, markdown-unlit
  build-tool-depends: markdown-unlit:markdown-unlit
  ghc-options:    -pgmL markdown-unlit
  default-language: Haskell2010