cabal-version: 1.18

-- This file has been generated from package.yaml by hpack version 0.33.0.
--
-- see: https://github.com/sol/hpack
--
-- hash: ba447e997d78582de45b1d7a4371396f5daed044c73681fa6b1a1e5f06f57aa9

name:           dormouse-client
version:        0.1.0.0
synopsis:       Simple, type-safe and testable HTTP client
description:    An HTTP client designed to be productive, easy to use, easy to test, flexible and safe!
                .
                It was designed with the following objectives in mind:
                .
                  - HTTP requests and responses should be modelled by a simple, immutable Haskell Record.
                  - Actual HTTP calls should be made via an abstraction layer (`MonadDormouseClient`) so testing and mocking is painless.
                  - Illegal requests should be unrepresentable, such as HTTP GET requests with a content body.
                  - It should be possible to enforce a protocol (e.g. https) at the type level.
                  - It should be possible to handle large request and response bodies via constant memory streaming.
                .
                Please see https://dormouse.io for full documentation.
category:       Web
homepage:       https://dormouse.io/client.html
bug-reports:    https://github.com/theinnerlight/dormouse/issues
author:         Phil Curzon
maintainer:     phil@novelfs.org
copyright:      2020-2021 Phil Curzon
license:        BSD3
license-file:   LICENSE
build-type:     Simple
extra-source-files:
    README.md
    ChangeLog.md
extra-doc-files:
    README.md

source-repository head
  type: git
  location: https://github.com/theinnerlight/dormouse

library
  exposed-modules:
      Dormouse.Client
      Dormouse.Client.Headers
      Dormouse.Client.Headers.MediaType
      Dormouse.Client.MonadIOImpl
      Dormouse.Client.Status
      Dormouse.Client.Test.Class
  other-modules:
      Dormouse.Client.Class
      Dormouse.Client.Data
      Dormouse.Client.Exception
      Dormouse.Client.Methods
      Dormouse.Client.Payload
      Dormouse.Client.Types
      Paths_dormouse_client
  hs-source-dirs:
      src
  default-extensions: OverloadedStrings MultiParamTypeClasses ScopedTypeVariables FlexibleContexts
  ghc-options: -Wall
  build-depends:
      aeson >=1.4.2 && <2.0.0
    , attoparsec >=0.13.2.4 && <0.14
    , base >=4.7 && <5
    , bytestring >=0.10.8 && <0.11.0
    , case-insensitive >=1.2.1.0 && <2.0.0
    , containers >=0.6.2.1 && <0.7
    , dormouse-uri
    , http-api-data >=0.4.1.1 && <0.5
    , http-client >=0.6.4.1 && <0.7.0
    , http-client-tls >=0.3.5.3 && <0.4
    , http-types >=0.12.3 && <0.13
    , mtl >=2.2.2 && <3
    , safe-exceptions >=0.1.7 && <0.2.0
    , streamly >=0.7.2 && <0.8
    , streamly-bytestring >=0.1.2 && <0.2
    , template-haskell >=2.15.0 && <3.0.0
    , text >=1.2.3 && <2.0.0
  default-language: Haskell2010

test-suite dormouse-client-test
  type: exitcode-stdio-1.0
  main-is: Spec.hs
  other-modules:
      Dormouse.Client
      Dormouse.Client.Class
      Dormouse.Client.Data
      Dormouse.Client.Exception
      Dormouse.Client.Headers
      Dormouse.Client.Headers.MediaType
      Dormouse.Client.Methods
      Dormouse.Client.MonadIOImpl
      Dormouse.Client.Payload
      Dormouse.Client.Status
      Dormouse.Client.Test.Class
      Dormouse.Client.Types
      Dormouse.Client.Generators.Json
      Dormouse.Client.Generators.UriComponents
      Dormouse.Client.Headers.MediaTypeSpec
      Dormouse.Client.StatusSpec
      Dormouse.Client.UrlReqSpec
      Dormouse.ClientSpec
      Paths_dormouse_client
  hs-source-dirs:
      src
      test
  default-extensions: OverloadedStrings MultiParamTypeClasses ScopedTypeVariables FlexibleContexts
  ghc-options: -threaded -rtsopts -with-rtsopts=-N -Wall
  build-depends:
      aeson >=1.4.2 && <2.0.0
    , attoparsec >=0.13.2.4 && <0.14
    , base >=4.7 && <5
    , bytestring >=0.10.8 && <0.11.0
    , case-insensitive >=1.2.1.0 && <2.0.0
    , containers >=0.6.2.1 && <0.7
    , dormouse-uri
    , hedgehog >=1.0.1 && <2
    , hspec >=2.0.0 && <3
    , hspec-discover >=2.0.0 && <3
    , hspec-hedgehog >=0.0.1.2 && <0.1
    , http-api-data >=0.4.1.1 && <0.5
    , http-client >=0.6.4.1 && <0.7.0
    , http-client-tls >=0.3.5.3 && <0.4
    , http-types >=0.12.3 && <0.13
    , mtl >=2.2.2 && <3
    , safe-exceptions >=0.1.7 && <0.2.0
    , scientific >=0.3.6.2 && <0.4
    , streamly >=0.7.2 && <0.8
    , streamly-bytestring >=0.1.2 && <0.2
    , template-haskell >=2.15.0 && <3.0.0
    , text >=1.2.3 && <2.0.0
    , vector >=0.12.0.3 && <0.13
  default-language: Haskell2010