cabal-version:   2.4
name:            req
version:         3.13.4
x-revision: 2
license:         BSD-3-Clause
license-file:    LICENSE.md
maintainer:      Mark Karpov <markkarpov92@gmail.com>
author:          Mark Karpov <markkarpov92@gmail.com>
tested-with:     ghc ==9.6.3 ghc ==9.8.2 ghc ==9.10.1
homepage:        https://github.com/mrkkrp/req
bug-reports:     https://github.com/mrkkrp/req/issues
synopsis:        HTTP client library
description:     HTTP client library.
category:        Network, Web
build-type:      Simple
data-files:
    httpbin-data/utf8.html
    httpbin-data/robots.txt

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

source-repository head
    type:     git
    location: https://github.com/mrkkrp/req.git

flag dev
    description: Turn on development settings.
    default:     False
    manual:      True

library
    exposed-modules:  Network.HTTP.Req
    default-language: GHC2021
    build-depends:
        aeson >=0.9 && <3,
        authenticate-oauth >=1.5 && <1.8,
        base >=4.15 && <5,
        blaze-builder >=0.3 && <0.5,
        bytestring >=0.10.8 && <0.13,
        case-insensitive >=0.2 && <1.3,
        containers >=0.5 && <0.8,
        crypton-connection >=0.4.2 && <0.5,
        data-default-class >= 0.2.0.0,
        exceptions >=0.6 && <0.11,
        http-api-data >=0.2 && <0.7,
        http-client >=0.7.13.1 && <0.8,
        http-client-tls >=0.3.2 && <0.4,
        http-types >=0.8 && <10,
        modern-uri >=0.3 && <0.4,
        monad-control >=1.0 && <1.1,
        mtl >=2.0 && <3.0,
        retry >=0.8 && <0.10,
        template-haskell >=2.19 && <2.23,
        text >=0.2 && <2.2,
        transformers >=0.5.3.0 && <0.7,
        transformers-base,
        unliftio-core >=0.1.1 && <0.3

    if flag(dev)
        ghc-options:
            -Wall -Werror -Wpartial-fields -Wunused-packages
            -Wno-unused-imports

    else
        ghc-options: -O2 -Wall

test-suite pure-tests
    type:               exitcode-stdio-1.0
    main-is:            Spec.hs
    build-tool-depends: hspec-discover:hspec-discover >=2 && <3
    hs-source-dirs:     pure-tests
    other-modules:      Network.HTTP.ReqSpec
    default-language:   GHC2021
    build-depends:
        QuickCheck >=2.7 && <3,
        aeson >=0.9 && <3,
        base >=4.15 && <5.0,
        blaze-builder >=0.3 && <0.5,
        bytestring >=0.10.8 && <0.13,
        case-insensitive >=0.2 && <1.3,
        hspec >=2.0 && <3,
        hspec-core >=2.0 && <3,
        http-api-data >=0.2 && <0.7,
        http-client >=0.7 && <0.8,
        http-types >=0.8 && <10,
        modern-uri >=0.3 && <0.4,
        req,
        retry >=0.8 && <0.10,
        template-haskell >=2.19 && <2.23,
        text >=0.2 && <2.2,
        time >=1.2 && <1.13

    if flag(dev)
        ghc-options:
            -Wall -Werror -Wredundant-constraints -Wpartial-fields
            -Wunused-packages

    else
        ghc-options: -O2 -Wall

test-suite httpbin-tests
    type:               exitcode-stdio-1.0
    main-is:            Spec.hs
    build-tool-depends: hspec-discover:hspec-discover >=2 && <3
    hs-source-dirs:     httpbin-tests
    other-modules:      Network.HTTP.ReqSpec
    default-language:   GHC2021
    build-depends:
        QuickCheck >=2.7 && <3,
        aeson >=2 && <3,
        base >=4.15 && <5,
        bytestring >=0.10.8 && <0.13,
        hspec >=2.0 && <3.0,
        http-client >=0.7 && <0.8,
        http-types >=0.8 && <10,
        monad-control >=1.0 && <1.1,
        req,
        text >=0.2 && <2.2

    if flag(dev)
        ghc-options:
            -Wall -Werror -Wredundant-constraints -Wpartial-fields
            -Wunused-packages

    else
        buildable: False