File wai-extra.cabal of Package ghc-wai-extra

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:          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/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
openSUSE Build Service is sponsored by