Name:                wai-extra
Version:             3.1.13.0
x-revision: 1
Synopsis:            Provides some basic WAI handlers and middleware.
description:
 Provides basic WAI handler and middleware functionality:
 .
 * WAI Testing Framework
 .
 Hspec testing facilities and helpers for WAI.
 .
 * Event Source/Event Stream
 .
 Send server events to the client. Compatible with the JavaScript
 EventSource API.
 .
 * Accept Override
 .
 Override the Accept header in a request. Special handling for the
 _accept query parameter (which is used throughout WAI override the
 Accept header).
 .
 * Add Headers
 .
 WAI Middleware for adding arbitrary headers to an HTTP request.
 .
 * Clean Path
 .
 Clean a request path to a canonical form.
 .
 * Combine Headers
 .
 Combine duplicate headers into one.
 .
 * GZip Compression
 .
 Negotiate HTTP payload gzip compression.
 .
 * Health check endpoint
 .
 Add an empty health check endpoint.
 .
 * HTTP Basic Authentication
 .
 WAI Basic Authentication Middleware which uses Authorization header.
 .
 * JSONP
 .
 \"JSON with Padding\" middleware. Automatic wrapping of JSON
 responses to convert into JSONP.
 .
 * Method Override / Post
 .
 Allows overriding of the HTTP request method via the _method query string
 parameter.
 .
 * Request Logging
 .
 Request logging middleware for development and production environments
 .
 * Request Rewrite
 .
 Rewrite request path info based on a custom conversion rules.
 .
 * Select
 .
 Dynamically choose between Middlewares.
 .
 * Stream Files
 .
 Convert ResponseFile type responses into ResponseStream type.
 .
 * Virtual Host
 .
 Redirect incoming requests to a new host based on custom rules.
 .
 .
 API docs and the README are available at <http://www.stackage.org/package/wai-extra>.

License:             MIT
License-file:        LICENSE
Author:              Michael Snoyman
Maintainer:          [email protected]
Homepage:            http://github.com/yesodweb/wai
Category:            Web
Build-Type:          Simple
Cabal-Version:       >=1.10
Stability:           Stable
extra-source-files:
 test/requests/dalvik-request
 test/json
 test/json.gz
 test/noprecompress
 test/test.html
 test/sample.hs
 ChangeLog.md
 README.md

flag build-example
 description:        Build example executable.
 manual:             True
 default:            False

Library
 Build-Depends:     base                      >= 4.12 && < 5
                  , aeson
                  , ansi-terminal             >= 0.4
                  , base64-bytestring
                  , bytestring                >= 0.10.4
                  , call-stack
                  , case-insensitive          >= 0.2
                  , containers
                  , cookie
                  , data-default-class
                  , directory                 >= 1.2.7.0
                  , fast-logger               >= 2.4.5
                  , http-types                >= 0.7
                  , HUnit
                  , iproute                   >= 1.7.8
                  , network                   >= 2.6.1.0
                  , resourcet                 >= 0.4.6    && < 1.4
                  , streaming-commons         >= 0.2
                  , text                      >= 0.7
                  , time                      >= 1.1.4
                  , transformers              >= 0.2.2
                  , vault
                  , wai                       >= 3.2.2.1  && < 3.3
                  , wai-logger                >= 2.3.7
                  , warp                      >= 3.3.22
                  , word8

 if os(windows)
     cpp-options:   -DWINDOWS
 else
     build-depends: unix

 default-extensions:        OverloadedStrings

 Exposed-modules:   Network.Wai.EventSource
                    Network.Wai.EventSource.EventStream
                    Network.Wai.Handler.CGI
                    Network.Wai.Handler.SCGI
                    Network.Wai.Header
                    Network.Wai.Middleware.AcceptOverride
                    Network.Wai.Middleware.AddHeaders
                    Network.Wai.Middleware.Approot
                    Network.Wai.Middleware.Autohead
                    Network.Wai.Middleware.CleanPath
                    Network.Wai.Middleware.CombineHeaders
                    Network.Wai.Middleware.ForceDomain
                    Network.Wai.Middleware.ForceSSL
                    Network.Wai.Middleware.Gzip
                    Network.Wai.Middleware.HealthCheckEndpoint
                    Network.Wai.Middleware.HttpAuth
                    Network.Wai.Middleware.Jsonp
                    Network.Wai.Middleware.Local
                    Network.Wai.Middleware.MethodOverride
                    Network.Wai.Middleware.MethodOverridePost
                    Network.Wai.Middleware.RealIp
                    Network.Wai.Middleware.RequestLogger
                    Network.Wai.Middleware.RequestLogger.JSON
                    Network.Wai.Middleware.RequestSizeLimit
                    Network.Wai.Middleware.RequestSizeLimit.Internal
                    Network.Wai.Middleware.Rewrite
                    Network.Wai.Middleware.Routed
                    Network.Wai.Middleware.Select
                    Network.Wai.Middleware.StreamFile
                    Network.Wai.Middleware.StripHeaders
                    Network.Wai.Middleware.Timeout
                    Network.Wai.Middleware.Vhost
                    Network.Wai.Parse
                    Network.Wai.Request
                    Network.Wai.Test
                    Network.Wai.Test.Internal
                    Network.Wai.UrlMap
 other-modules:     Network.Wai.Middleware.RequestLogger.Internal
                    Network.Wai.Util
 default-language:          Haskell2010
 ghc-options:       -Wall

executable example
 hs-source-dirs:      example
 main-is:             Main.hs
 ghc-options:         -threaded -rtsopts -with-rtsopts=-N -Wall
 if flag(build-example)
   build-depends:     base
                    , bytestring
                    , http-types
                    , time
                    , wai
                    , wai-extra
                    , warp
 else
   buildable: False
 default-language:    Haskell2010

test-suite spec
   type:            exitcode-stdio-1.0
   hs-source-dirs:  test
   main-is:         Spec.hs
   other-modules:   Network.Wai.Middleware.ApprootSpec
                    Network.Wai.Middleware.CombineHeadersSpec
                    Network.Wai.Middleware.ForceSSLSpec
                    Network.Wai.Middleware.RealIpSpec
                    Network.Wai.Middleware.RequestSizeLimitSpec
                    Network.Wai.Middleware.RoutedSpec
                    Network.Wai.Middleware.SelectSpec
                    Network.Wai.Middleware.StripHeadersSpec
                    Network.Wai.Middleware.TimeoutSpec
                    Network.Wai.ParseSpec
                    Network.Wai.RequestSpec
                    Network.Wai.TestSpec
                    WaiExtraSpec
   build-tool-depends: hspec-discover:hspec-discover
   build-depends:   base                      >= 4        && < 5
                  , aeson
                  , bytestring
                  , cookie
                  , case-insensitive
                  , directory
                  , fast-logger
                  , hspec >= 1.3
                  , http-types
                  , HUnit
                  , iproute
                  , resourcet
                  , temporary
                  , text
                  , time
                  , wai-extra
                  , wai
                  , warp
                  , zlib
   ghc-options:     -Wall
   default-language:          Haskell2010

   if os(windows)
       cpp-options:   -DWINDOWS

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