name:                http-client
version:             0.5.14
synopsis:            An HTTP client engine
description:         Hackage documentation generation is not reliable. For up to date documentation, please see: <http://www.stackage.org/package/http-client>.
homepage:            https://github.com/snoyberg/http-client
license:             MIT
license-file:        LICENSE
author:              Michael Snoyman
maintainer:          michael@snoyman.com
category:            Network
build-type:          Simple
extra-source-files:  README.md ChangeLog.md
cabal-version:       >=1.10

flag network-uri
   description: Get Network.URI from the network-uri package
   default: True

library
  hs-source-dirs:      ., publicsuffixlist
  exposed-modules:     Network.HTTP.Client
                       Network.HTTP.Client.MultipartFormData
                       Network.HTTP.Client.Internal
  other-modules:       Network.HTTP.Client.Body
                       Network.HTTP.Client.Connection
                       Network.HTTP.Client.Cookies
                       Network.HTTP.Client.Core
                       Network.HTTP.Client.Headers
                       Network.HTTP.Client.Manager
                       Network.HTTP.Client.Request
                       Network.HTTP.Client.Response
                       Network.HTTP.Client.Types
                       Network.HTTP.Client.Util
                       Network.HTTP.Proxy
                       Network.PublicSuffixList.Lookup
                       Network.PublicSuffixList.Types
                       Network.PublicSuffixList.Serialize
                       Network.PublicSuffixList.DataStructure
                       Data.KeyedPool
  build-depends:       base              >= 4.6    && < 5
                     , bytestring        >= 0.10
                     , text              >= 0.11
                     , http-types        >= 0.8
                     , blaze-builder     >= 0.3
                     , time              >= 1.2
                     , network           >= 2.4
                     , streaming-commons >= 0.1.0.2 && < 0.3
                     , containers        >= 0.5
                     , transformers
                     , deepseq           >= 1.3    && <1.5
                     , case-insensitive  >= 1.0
                     , memory            >= 0.7
                     , cookie
                     , exceptions        >= 0.4
                     , array
                     , random
                     , filepath
                     , mime-types
                     , ghc-prim
                     , stm               >= 2.3
  if flag(network-uri)
    build-depends: network >= 2.6, network-uri >= 2.6
  else
    build-depends: network < 2.6

  if !impl(ghc>=8.0)
    build-depends: semigroups >= 0.16.1

  -- See build failure at https://travis-ci.org/snoyberg/http-client/jobs/359573631
  if impl(ghc < 7.10)
    -- Disable building with GHC before 8.0.2.
    -- Due to a cabal bug, do not use buildable: False,
    -- but instead give it an impossible constraint.
    -- See: https://github.com/haskell-infra/hackage-trustees/issues/165
    build-depends: unsupported-ghc-version > 1 && < 1


  if os(mingw32)
    build-depends: Win32, safe

  default-language:    Haskell2010

test-suite spec
  main-is:             Spec.hs
  type:                exitcode-stdio-1.0
  hs-source-dirs:      test
  default-language:    Haskell2010
  other-modules:       Network.HTTP.ClientSpec
  build-depends:       base
                     , http-client
                     , hspec
                     , monad-control
                     , bytestring
                     , text
                     , http-types
                     , blaze-builder
                     , time
                     , network
                     , containers
                     , transformers
                     , deepseq
                     , case-insensitive
                     , zlib
                     , async
                     , streaming-commons >= 0.1.1


test-suite spec-nonet
  main-is:             Spec.hs
  type:                exitcode-stdio-1.0
  hs-source-dirs:      test-nonet
  default-language:    Haskell2010
  ghc-options:         -threaded
  if os(windows)
    cpp-options:       -DWINDOWS
  other-modules:       Network.HTTP.ClientSpec
                       Network.HTTP.Client.ResponseSpec
                       Network.HTTP.Client.BodySpec
                       Network.HTTP.Client.HeadersSpec
                       Network.HTTP.Client.RequestSpec
                       Network.HTTP.Client.RequestBodySpec
                       Network.HTTP.Client.CookieSpec
  build-depends:       base
                     , http-client
                     , hspec
                     , monad-control
                     , bytestring
                     , text
                     , http-types
                     , blaze-builder
                     , time
                     , network
                     , network-uri
                     , containers
                     , transformers
                     , deepseq
                     , case-insensitive
                     , zlib
                     , async
                     , streaming-commons >= 0.1.1
                     , directory
