packages feed

wai-extra-3.1.3: wai-extra.cabal

Name:                wai-extra
Version:             3.1.3
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.
  .
  * GZip Compression
  .
  Negotiate HTTP payload gzip compression.
  .
  * 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.
  .
  * 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:          michael@snoyman.com
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/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.10 && < 5
                   , bytestring                >= 0.10.4
                   , wai                       >= 3.0.3.0  && < 3.3
                   , old-locale                >= 1.0.0.2  && < 1.1
                   , time                      >= 1.1.4
                   , network                   >= 2.6.1.0
                   , directory                 >= 1.0.1
                   , transformers              >= 0.2.2
                   , http-types                >= 0.7
                   , text                      >= 0.7
                   , case-insensitive          >= 0.2
                   , data-default-class
                   , fast-logger               >= 2.4.5
                   , wai-logger                >= 2.3.2
                   , ansi-terminal
                   , resourcet                 >= 0.4.6    && < 1.3
                   , void                      >= 0.5
                   , containers
                   , base64-bytestring
                   , word8
                   , deepseq
                   , streaming-commons         >= 0.2
                   , unix-compat
                   , cookie
                   , vault
                   , zlib
                   , aeson
                   , iproute
                   , http2
                   , HUnit
                   , call-stack

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

  default-extensions:        OverloadedStrings

  Exposed-modules:   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.Local
                     Network.Wai.Middleware.RequestLogger
                     Network.Wai.Middleware.RequestLogger.JSON
                     Network.Wai.Middleware.Gzip
                     Network.Wai.Middleware.Jsonp
                     Network.Wai.Middleware.MethodOverride
                     Network.Wai.Middleware.MethodOverridePost
                     Network.Wai.Middleware.Rewrite
                     Network.Wai.Middleware.StripHeaders
                     Network.Wai.Middleware.Vhost
                     Network.Wai.Middleware.HttpAuth
                     Network.Wai.Middleware.StreamFile
                     Network.Wai.Middleware.ForceDomain
                     Network.Wai.Middleware.ForceSSL
                     Network.Wai.Middleware.Routed
                     Network.Wai.Middleware.Timeout
                     Network.Wai.Parse
                     Network.Wai.Request
                     Network.Wai.UrlMap
                     Network.Wai.Test
                     Network.Wai.Test.Internal
                     Network.Wai.EventSource
                     Network.Wai.EventSource.EventStream
                     Network.Wai.Middleware.RequestSizeLimit
                     Network.Wai.Middleware.RequestSizeLimit.Internal
  other-modules:     Network.Wai.Middleware.RequestLogger.Internal
  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
                     , wai-extra
                     , warp
                     , wai
                     , time
                     , http-types
                     , bytestring
  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.TestSpec
                     Network.Wai.ParseSpec
                     Network.Wai.RequestSpec
                     Network.Wai.Middleware.ApprootSpec
                     Network.Wai.Middleware.ForceSSLSpec
                     Network.Wai.Middleware.RoutedSpec
                     Network.Wai.Middleware.StripHeadersSpec
                     Network.Wai.Middleware.TimeoutSpec
                     WaiExtraSpec
    build-depends:   base                      >= 4        && < 5
                   , wai-extra
                   , wai
                   , hspec >= 1.3
                   , transformers
                   , fast-logger
                   , http-types
                   , zlib
                   , text
                   , resourcet
                   , bytestring
                   , HUnit
                   , cookie
                   , time
                   , case-insensitive
                   , http2
                   , aeson
    ghc-options:     -Wall
    default-language:          Haskell2010

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