Name:                warp
Version:             3.3.25
Synopsis:            A fast, light-weight web server for WAI applications.
License:             MIT
License-file:        LICENSE
Author:              Michael Snoyman, Kazu Yamamoto, Matt Brown
Maintainer:          michael@snoyman.com
Homepage:            http://github.com/yesodweb/wai
Category:            Web, Yesod
Build-Type:          Simple
Cabal-Version:       >= 1.10
Stability:           Stable
description:         HTTP\/1.0, HTTP\/1.1 and HTTP\/2 are supported.
                     For HTTP\/2,  Warp supports direct and ALPN (in TLS)
                     but not upgrade.
                     API docs and the README are available at
                     <http://www.stackage.org/package/warp>.
extra-source-files:  attic/hex
                     ChangeLog.md
                     README.md
                     test/head-response
                     test/inputFile

Flag network-bytestring
    Default: False

Flag allow-sendfilefd
    Description: Allow use of sendfileFd (not available on GNU/kFreeBSD)
    Default:     True

Flag warp-debug
    Description: print debug output. not suitable for production
    Default:     False

Flag x509
    Description: Adds a dependency on the x509 library to enable getting TLS client certificates.
    Default:     True

Library
  Build-Depends:     base                      >= 4.12       && < 5
                   , array
                   , auto-update               >= 0.1.3    && < 0.2
                   , bsb-http-chunked                         < 0.1
                   , bytestring                >= 0.9.1.4
                   , case-insensitive          >= 0.2
                   , containers
                   , ghc-prim
                   , hashable
                   , http-date
                   , http-types                >= 0.12
                   , http2                     >= 3.0      && < 5
                   , iproute                   >= 1.3.1
                   , recv                      >= 0.1.0    && < 0.2.0
                   , simple-sendfile           >= 0.2.7    && < 0.3
                   , stm                       >= 2.3
                   , streaming-commons         >= 0.1.10
                   , text
                   , time-manager
                   , unix-compat               >= 0.2
                   , vault                     >= 0.3
                   , wai                       >= 3.2      && < 3.3
                   , word8
                   , unliftio
  if flag(x509)
      Build-Depends: x509
  if impl(ghc < 8)
      Build-Depends: semigroups
  if flag(network-bytestring)
      Build-Depends: network                   >= 2.2.1.5  && < 2.2.3
                   , network-bytestring        >= 0.1.3    && < 0.1.4
  else
      Build-Depends: network               >= 2.3
  Exposed-modules:   Network.Wai.Handler.Warp
                     Network.Wai.Handler.Warp.Internal
  Other-modules:     Network.Wai.Handler.Warp.Buffer
                     Network.Wai.Handler.Warp.Conduit
                     Network.Wai.Handler.Warp.Counter
                     Network.Wai.Handler.Warp.Date
                     Network.Wai.Handler.Warp.FdCache
                     Network.Wai.Handler.Warp.File
                     Network.Wai.Handler.Warp.FileInfoCache
                     Network.Wai.Handler.Warp.HashMap
                     Network.Wai.Handler.Warp.HTTP1
                     Network.Wai.Handler.Warp.HTTP2
                     Network.Wai.Handler.Warp.HTTP2.File
                     Network.Wai.Handler.Warp.HTTP2.PushPromise
                     Network.Wai.Handler.Warp.HTTP2.Request
                     Network.Wai.Handler.Warp.HTTP2.Response
                     Network.Wai.Handler.Warp.HTTP2.Types
                     Network.Wai.Handler.Warp.Header
                     Network.Wai.Handler.Warp.IO
                     Network.Wai.Handler.Warp.Imports
                     Network.Wai.Handler.Warp.PackInt
                     Network.Wai.Handler.Warp.ReadInt
                     Network.Wai.Handler.Warp.Request
                     Network.Wai.Handler.Warp.RequestHeader
                     Network.Wai.Handler.Warp.Response
                     Network.Wai.Handler.Warp.ResponseHeader
                     Network.Wai.Handler.Warp.Run
                     Network.Wai.Handler.Warp.SendFile
                     Network.Wai.Handler.Warp.Settings
                     Network.Wai.Handler.Warp.Types
                     Network.Wai.Handler.Warp.Windows
                     Network.Wai.Handler.Warp.WithApplication
                     Paths_warp
  Ghc-Options:       -Wall

  if flag(warp-debug)
      Cpp-Options:   -DWARP_DEBUG
  if (os(linux) || os(freebsd) || os(darwin)) && flag(allow-sendfilefd)
      Cpp-Options:   -DSENDFILEFD
  if os(windows)
      Cpp-Options:   -DWINDOWS
      Build-Depends: time
  else
      Build-Depends: unix
      Other-modules: Network.Wai.Handler.Warp.MultiMap
  if impl(ghc >= 8)
      Default-Extensions:  Strict StrictData
  Default-Language:     Haskell2010

Test-Suite doctest
  buildable:            False
  Type:                 exitcode-stdio-1.0
  HS-Source-Dirs:       test
  Ghc-Options:          -threaded -Wall
  Main-Is:              doctests.hs
  Build-Depends:        base >= 4.8 && < 5
                      , doctest >= 0.10.1
  if os(windows)
    Buildable: False
  if impl(ghc >= 8)
      Default-Extensions:  Strict StrictData
  Default-Language:     Haskell2010

Test-Suite spec
    Main-Is:         Spec.hs
    Other-modules:   ConduitSpec
                     ExceptionSpec
                     FdCacheSpec
                     FileSpec
                     ReadIntSpec
                     RequestSpec
                     ResponseHeaderSpec
                     ResponseSpec
                     RunSpec
                     SendFileSpec
                     WithApplicationSpec
                     HTTP
                     Network.Wai.Handler.Warp
                     Network.Wai.Handler.Warp.Buffer
                     Network.Wai.Handler.Warp.Conduit
                     Network.Wai.Handler.Warp.Counter
                     Network.Wai.Handler.Warp.Date
                     Network.Wai.Handler.Warp.FdCache
                     Network.Wai.Handler.Warp.File
                     Network.Wai.Handler.Warp.FileInfoCache
                     Network.Wai.Handler.Warp.HTTP1
                     Network.Wai.Handler.Warp.HTTP2
                     Network.Wai.Handler.Warp.HTTP2.File
                     Network.Wai.Handler.Warp.HTTP2.PushPromise
                     Network.Wai.Handler.Warp.HTTP2.Request
                     Network.Wai.Handler.Warp.HTTP2.Response
                     Network.Wai.Handler.Warp.HTTP2.Types
                     Network.Wai.Handler.Warp.HashMap
                     Network.Wai.Handler.Warp.Header
                     Network.Wai.Handler.Warp.IO
                     Network.Wai.Handler.Warp.Imports
                     Network.Wai.Handler.Warp.MultiMap
                     Network.Wai.Handler.Warp.PackInt
                     Network.Wai.Handler.Warp.ReadInt
                     Network.Wai.Handler.Warp.Request
                     Network.Wai.Handler.Warp.RequestHeader
                     Network.Wai.Handler.Warp.Response
                     Network.Wai.Handler.Warp.ResponseHeader
                     Network.Wai.Handler.Warp.Run
                     Network.Wai.Handler.Warp.SendFile
                     Network.Wai.Handler.Warp.Settings
                     Network.Wai.Handler.Warp.Types
                     Network.Wai.Handler.Warp.Windows
                     Network.Wai.Handler.Warp.WithApplication
                     Paths_warp

    Hs-Source-Dirs:  test, .
    Type:            exitcode-stdio-1.0

    Ghc-Options:     -Wall -threaded
    Build-Tool-Depends: hspec-discover:hspec-discover
    Build-Depends:   base >= 4.8 && < 5
                   , QuickCheck
                   , array
                   , auto-update
                   , bsb-http-chunked                         < 0.1
                   , bytestring                >= 0.9.1.4
                   , case-insensitive          >= 0.2
                   , containers
                   , directory
                   , ghc-prim
                   , hashable
                   , hspec                     >= 1.3
                   , http-client
                   , http-date
                   , http-types                >= 0.12
                   , http2                     >= 3.0      && < 5
                   , iproute                   >= 1.3.1
                   , network
                   , process
                   , recv                      >= 0.1.0    && < 0.2.0
                   , simple-sendfile           >= 0.2.4    && < 0.3
                   , stm                       >= 2.3
                   , streaming-commons         >= 0.1.10
                   , text
                   , time-manager
                   , unix-compat               >= 0.2
                   , vault
                   , wai                       >= 3.2      && < 3.3
                   , word8
                   , unliftio
  if flag(x509)
      Build-Depends: x509
  if impl(ghc < 8)
      Build-Depends: semigroups
                   , transformers

  if (os(linux) || os(freebsd) || os(darwin)) && flag(allow-sendfilefd)
      Cpp-Options:   -DSENDFILEFD
  if os(windows)
      Cpp-Options:   -DWINDOWS
      Build-Depends: time
  else
      Build-Depends: unix
      Other-modules: Network.Wai.Handler.Warp.MultiMap
  if impl(ghc >= 8)
      Default-Extensions:  Strict StrictData
  Default-Language:     Haskell2010

Benchmark parser
    Type:           exitcode-stdio-1.0
    Main-Is:        Parser.hs
    other-modules:  Network.Wai.Handler.Warp.Date
                    Network.Wai.Handler.Warp.FdCache
                    Network.Wai.Handler.Warp.FileInfoCache
                    Network.Wai.Handler.Warp.HashMap
                    Network.Wai.Handler.Warp.Imports
                    Network.Wai.Handler.Warp.MultiMap
                    Network.Wai.Handler.Warp.Types
    HS-Source-Dirs: bench .
    Build-Depends:  base >= 4.8 && < 5
                  , auto-update
                  , bytestring
                  , containers
                  , gauge
                  , hashable
                  , http-date
                  , http-types
                  , network
                  , network
                  , recv
                  , time-manager
                  , unix-compat
                  , unliftio
  if flag(x509)
      Build-Depends: x509
  if impl(ghc < 8)
      Build-Depends: semigroups

  if (os(linux) || os(freebsd) || os(darwin)) && flag(allow-sendfilefd)
    Cpp-Options:   -DSENDFILEFD
    Build-Depends: unix
  if os(windows)
    Cpp-Options:   -DWINDOWS
    Build-Depends: time
  if impl(ghc >= 8)
      Default-Extensions:  Strict StrictData
  Default-Language:     Haskell2010

Source-Repository head
  Type:     git
  Location: git://github.com/yesodweb/wai.git
