packages feed

warp-3.4.6: warp.cabal

cabal-version:      >=1.10
name:               warp
version:            3.4.6
license:            MIT
license-file:       LICENSE
maintainer:         michael@snoyman.com
author:             Michael Snoyman, Kazu Yamamoto, Matt Brown
stability:          Stable
homepage:           http://github.com/yesodweb/wai
synopsis:           A fast, light-weight web server for WAI applications.
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>.

category:           Web, Yesod
build-type:         Simple
extra-source-files:
    attic/hex
    ChangeLog.md
    README.md
    test/head-response
    test/inputFile

source-repository head
    type:     git
    location: git://github.com/yesodweb/wai.git

flag network-bytestring
    default: False

flag allow-sendfilefd
    description: Allow use of sendfileFd (not available on GNU/kFreeBSD)

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.

library
    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.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.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

    default-language: Haskell2010
    ghc-options:      -Wall
    build-depends:
        base >=4.12 && <5,
        array,
        auto-update >=0.2.2 && <0.3,
        async,
        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 >=5.1 && <5.4,
        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 >=0.1.3 && <0.2,
        vault >=0.3,
        wai >=3.2.4 && <3.3,
        word8

    if flag(x509)
        build-depends: crypton-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

    if flag(warp-debug)
        cpp-options: -DWARP_DEBUG

    if (((os(linux) || os(freebsd)) || os(osx)) && flag(allow-sendfilefd))
        cpp-options: -DSENDFILEFD

    if os(windows)
        cpp-options:   -DWINDOWS
        build-depends:
            time,
            unix-compat >=0.2

    else
        other-modules: Network.Wai.Handler.Warp.MultiMap
        build-depends: unix

    if impl(ghc >=8)
        default-extensions: Strict StrictData

test-suite doctest
    type:             exitcode-stdio-1.0
    main-is:          doctests.hs
    buildable:        False
    hs-source-dirs:   test
    default-language: Haskell2010
    ghc-options:      -threaded -Wall
    build-depends:
        base >=4.8 && <5,
        doctest >=0.10.1

    if os(windows)
        buildable: False

    if impl(ghc >=8)
        default-extensions: Strict StrictData

test-suite spec
    type:               exitcode-stdio-1.0
    main-is:            Spec.hs
    build-tool-depends: hspec-discover:hspec-discover
    hs-source-dirs:     test .
    other-modules:
        ConduitSpec
        ExceptionSpec
        FdCacheSpec
        FileSpec
        HTTP
        PackIntSpec
        ReadIntSpec
        RequestSpec
        ResponseHeaderSpec
        ResponseSpec
        RunSpec
        SendFileSpec
        WithApplicationSpec
        Network.Wai.Handler.Warp
        Network.Wai.Handler.Warp.Internal
        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.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

    default-language:   Haskell2010
    ghc-options:        -Wall -threaded
    build-depends:
        base >=4.8 && <5,
        QuickCheck,
        array,
        auto-update,
        async,
        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 >=5.1 && <5.4,
        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,
        vault,
        wai >=3.2.2.1 && <3.3,
        word8

    if flag(x509)
        build-depends: crypton-x509

    if impl(ghc <8)
        build-depends:
            semigroups,
            transformers

    if (((os(linux) || os(freebsd)) || os(osx)) && flag(allow-sendfilefd))
        cpp-options: -DSENDFILEFD

    if os(windows)
        cpp-options:   -DWINDOWS
        build-depends:
            time,
            unix-compat >=0.2

    else
        other-modules: Network.Wai.Handler.Warp.MultiMap
        build-depends: unix

    if impl(ghc >=8)
        default-extensions: Strict StrictData

benchmark parser
    type:             exitcode-stdio-1.0
    main-is:          Parser.hs
    hs-source-dirs:   bench .
    other-modules:
        Network.Wai.Handler.Warp.Conduit
        Network.Wai.Handler.Warp.Date
        Network.Wai.Handler.Warp.FdCache
        Network.Wai.Handler.Warp.FileInfoCache
        Network.Wai.Handler.Warp.HashMap
        Network.Wai.Handler.Warp.Header
        Network.Wai.Handler.Warp.Imports
        Network.Wai.Handler.Warp.MultiMap
        Network.Wai.Handler.Warp.ReadInt
        Network.Wai.Handler.Warp.Request
        Network.Wai.Handler.Warp.RequestHeader
        Network.Wai.Handler.Warp.Settings
        Network.Wai.Handler.Warp.Types
        Paths_warp

    default-language: Haskell2010
    build-depends:
        base >=4.8 && <5,
        array,
        auto-update,
        bytestring,
        case-insensitive,
        containers,
        criterion,
        ghc-prim,
        hashable,
        http-date,
        http-types,
        network,
        network,
        recv,
        streaming-commons,
        text,
        time-manager,
        vault,
        wai,
        word8

    if flag(x509)
        build-depends: crypton-x509

    if impl(ghc <8)
        build-depends: semigroups

    if (((os(linux) || os(freebsd)) || os(osx)) && flag(allow-sendfilefd))
        cpp-options:   -DSENDFILEFD
        build-depends: unix

    if os(windows)
        cpp-options:   -DWINDOWS
        build-depends:
            time,
            unix-compat >=0.2

    if impl(ghc >=8)
        default-extensions: Strict StrictData