0972e7b
name:           snap-core
0972e7b
version:        1.0.4.1
0972e7b
x-revision: 1
0972e7b
synopsis:       Snap: A Haskell Web Framework (core interfaces and types)
0972e7b
0972e7b
description:
0972e7b
  Snap is a simple and fast web development framework and server written in
0972e7b
  Haskell. For more information or to download the latest version, you can
0972e7b
  visit the Snap project website at <http://snapframework.com/>.
0972e7b
  .
0972e7b
  This library contains the core definitions and types for the Snap framework,
0972e7b
  including:
0972e7b
  .
0972e7b
    1. Primitive types and functions for HTTP (requests, responses, cookies,
0972e7b
       post/query parameters, etc)
0972e7b
  .
0972e7b
    2. A monad for programming web handlers called \"Snap\", which allows:
0972e7b
  .
0972e7b
       * Stateful access to the HTTP request and response objects
0972e7b
  .
0972e7b
       * Monadic failure (i.e. MonadPlus/Alternative instances) for declining
0972e7b
         to handle requests and chaining handlers together
0972e7b
  .
0972e7b
       * Early termination of the computation if you know early what you want
0972e7b
         to return and want to prevent further monadic processing
0972e7b
  .
0972e7b
  /Quick start/: The 'Snap' monad and HTTP definitions are in "Snap.Core".
0972e7b
0972e7b
license:        BSD3
0972e7b
license-file:   LICENSE
0972e7b
author:         Snap Framework Authors (see CONTRIBUTORS)
0972e7b
maintainer:     snap@snapframework.com
0972e7b
build-type:     Simple
0972e7b
cabal-version:  >= 1.10
0972e7b
homepage:       http://snapframework.com/
0972e7b
bug-reports:    https://github.com/snapframework/snap-core/issues
0972e7b
category:       Web, Snap, IO-Streams
0972e7b
Tested-With:    GHC == 7.4.2, GHC == 7.6.3, GHC == 7.8.4, GHC == 7.10.3,
0972e7b
                GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.4, GHC == 8.6.3,
0972e7b
                GHC == 8.8.1
0972e7b
0972e7b
extra-source-files:
0972e7b
  test/TestSuite.hs,
0972e7b
  cbits/timefuncs.c,
0972e7b
  CONTRIBUTORS,
0972e7b
  extra/haddock.css,
0972e7b
  extra/hscolour.css,
0972e7b
  extra/logo.gif,
0972e7b
  haddock.sh,
0972e7b
  LICENSE,
0972e7b
  README.md,
0972e7b
  README.SNAP.md,
0972e7b
  Setup.hs,
0972e7b
  runTestsAndCoverage.sh,
0972e7b
  test/data/fileServe/foo.bin,
0972e7b
  test/data/fileServe/foo.bin.bin.bin,
0972e7b
  test/data/fileServe/foo.html,
0972e7b
  test/data/fileServe/foo.txt,
0972e7b
  test/data/fileServe/mydir1/index.txt,
0972e7b
  test/data/fileServe/mydir2/dir/foo.txt,
0972e7b
  test/data/fileServe/mydir2/foo.txt,
0972e7b
  test/data/fileServe/mydir3/altindex.html,
0972e7b
  test/Snap/Core/Tests.hs,
0972e7b
  test/Snap/Internal/Http/Types/Tests.hs,
0972e7b
  test/Snap/Internal/Parsing/Tests.hs,
0972e7b
  test/Snap/Internal/Routing/Tests.hs,
0972e7b
  test/Snap/Test/Common.hs,
0972e7b
  test/Snap/Types/Headers/Tests.hs,
0972e7b
  test/Snap/Util/FileServe/Tests.hs,
0972e7b
  test/Snap/Util/FileUploads/Tests.hs,
0972e7b
  test/Snap/Util/GZip/Tests.hs,
0972e7b
  test/Snap/Util/Proxy/Tests.hs
0972e7b
0972e7b
Flag portable
0972e7b
  Description: Compile in cross-platform mode. No platform-specific code or
0972e7b
               optimizations such as C routines will be used.
0972e7b
  Default: False
0972e7b
0972e7b
0972e7b
Flag debug
0972e7b
  Description: Enable debug logging code. With this flag, Snap will
0972e7b
               test the DEBUG environment variable to decide whether to do
0972e7b
               logging, and this introduces a tiny amount of overhead
0972e7b
               (a call into a function pointer) because the calls to 'debug'
0972e7b
               cannot be inlined.
0972e7b
0972e7b
  Default: False
0972e7b
0972e7b
0972e7b
Flag network-uri
0972e7b
  Description: Get Network.URI from the network-uri package
0972e7b
  Default: True
0972e7b
0972e7b
0972e7b
Library
0972e7b
  Default-language:  Haskell2010
0972e7b
  hs-source-dirs: src
0972e7b
0972e7b
  if !flag(debug)
0972e7b
    cpp-options: -DNODEBUG
0972e7b
0972e7b
  if flag(portable) || os(windows)
0972e7b
    cpp-options: -DPORTABLE
0972e7b
    build-depends: time-locale-compat == 0.1.*
0972e7b
  else
0972e7b
    c-sources: cbits/timefuncs.c
0972e7b
    include-dirs: cbits
0972e7b
    build-depends: old-locale >= 1 && <2
0972e7b
0972e7b
  exposed-modules:
0972e7b
    Snap.Core,
0972e7b
    Snap.Internal.Core,
0972e7b
    Snap.Internal.Debug,
0972e7b
    Snap.Internal.Http.Types,
0972e7b
    Snap.Internal.Parsing,
0972e7b
    Snap.Test,
0972e7b
    Snap.Types.Headers,
0972e7b
    Snap.Util.CORS,
0972e7b
    Snap.Util.FileServe,
0972e7b
    Snap.Util.FileUploads,
0972e7b
    Snap.Util.GZip,
0972e7b
    Snap.Util.Proxy
0972e7b
0972e7b
  other-modules:
0972e7b
    Snap.Internal.Instances,
0972e7b
    Snap.Internal.Routing,
0972e7b
    Snap.Internal.Test.RequestBuilder,
0972e7b
    Snap.Internal.Test.Assertions,
0972e7b
    Snap.Internal.Util.FileServe,
0972e7b
    Snap.Internal.Util.FileUploads
0972e7b
0972e7b
0972e7b
  build-depends:
0972e7b
    HUnit                     >= 1.2     && < 2,
0972e7b
    attoparsec                >= 0.12    && < 0.14,
0972e7b
    base                      >= 4       && < 5,
0972e7b
    bytestring                >= 0.9     && < 0.11,
0972e7b
    bytestring-builder        >= 0.10.4  && < 0.11,
0972e7b
    case-insensitive          >= 1.1     && < 1.3,
0972e7b
    containers                >= 0.3     && < 1.0,
0972e7b
    directory                 >= 1       && < 2,
0972e7b
    filepath                  >= 1.1     && < 2.0,
0972e7b
    lifted-base               >= 0.1     && < 0.3,
0972e7b
    io-streams                >= 1.3     && < 1.6,
0972e7b
    hashable                  >= 1.2.0.6 && < 1.4,
0972e7b
    monad-control             >= 1.0     && < 1.1,
0972e7b
    mtl                       >= 2.0     && < 2.3,
0972e7b
    random                    >= 1       && < 2,
0972e7b
    readable                  >= 0.1     && < 0.4,
0972e7b
    regex-posix               >= 0.95    && < 1,
0972e7b
    text                      >= 0.11    && < 1.3,
0972e7b
    time                      >= 1.0     && < 1.11,
0972e7b
    transformers              >= 0.3     && < 0.6,
0972e7b
    transformers-base         >= 0.4     && < 0.5,
0972e7b
    unix-compat               >= 0.3     && < 0.6,
0972e7b
    unordered-containers      >= 0.1.4.3 && < 0.3,
0972e7b
    vector                    >= 0.6     && < 0.13
0972e7b
0972e7b
  other-extensions:
0972e7b
    BangPatterns,
0972e7b
    CPP,
0972e7b
    DeriveDataTypeable,
0972e7b
    EmptyDataDecls,
0972e7b
    ExistentialQuantification,
0972e7b
    FlexibleContexts,
0972e7b
    FlexibleInstances,
0972e7b
    ForeignFunctionInterface,
0972e7b
    GeneralizedNewtypeDeriving,
0972e7b
    MultiParamTypeClasses,
0972e7b
    OverloadedStrings,
0972e7b
    OverloadedStrings,
0972e7b
    PackageImports,
0972e7b
    Rank2Types,
0972e7b
    ScopedTypeVariables,
0972e7b
    TypeSynonymInstances
0972e7b
0972e7b
  if impl(ghc >= 6.12.0)
0972e7b
    ghc-options: -Wall -fwarn-tabs -fno-warn-unused-do-bind
0972e7b
  else
0972e7b
    ghc-options: -Wall -fwarn-tabs
0972e7b
0972e7b
  -- See https://ghc.haskell.org/trac/ghc/wiki/Migration/8.0#base-4.9.0.0
0972e7b
0972e7b
  if impl(ghc < 8.8)
0972e7b
    if impl(ghc >= 8.0)
0972e7b
      ghc-options: -Wcompat -Wnoncanonical-monad-instances -Wnoncanonical-monadfail-instances
0972e7b
    else
0972e7b
      build-depends: fail == 4.9.*, semigroups == 0.18.*
0972e7b
0972e7b
  if flag(network-uri)
0972e7b
    build-depends: network-uri >= 2.6 && < 2.7,
0972e7b
                   network     >= 2.6 && < 3.2
0972e7b
  else
0972e7b
    build-depends: network-uri >= 2.5 && < 2.6,
0972e7b
                   network     >= 2.3 && < 2.6
0972e7b
0972e7b
0972e7b
Test-suite testsuite
0972e7b
  hs-source-dirs: src test
0972e7b
  Type:              exitcode-stdio-1.0
0972e7b
  Main-is:           TestSuite.hs
0972e7b
  Default-language:  Haskell2010
0972e7b
0972e7b
  if flag(portable) || os(windows)
0972e7b
    cpp-options: -DPORTABLE
0972e7b
    build-depends: time-locale-compat == 0.1.*
0972e7b
  else
0972e7b
    c-sources: cbits/timefuncs.c
0972e7b
    include-dirs: cbits
0972e7b
    build-depends: old-locale >= 1 && <2
0972e7b
0972e7b
  other-modules:
0972e7b
    Snap.Core,
0972e7b
    Snap.Internal.Debug,
0972e7b
    Snap.Internal.Http.Types,
0972e7b
    Snap.Internal.Parsing,
0972e7b
    Snap.Test,
0972e7b
    Snap.Types.Headers,
0972e7b
    Snap.Util.CORS,
0972e7b
    Snap.Util.FileServe,
0972e7b
    Snap.Util.FileUploads,
0972e7b
    Snap.Util.GZip,
0972e7b
    Snap.Util.Proxy,
0972e7b
    Snap.Internal.Core,
0972e7b
    Snap.Internal.Instances,
0972e7b
    Snap.Internal.Routing,
0972e7b
    Snap.Internal.Test.RequestBuilder,
0972e7b
    Snap.Internal.Test.Assertions,
0972e7b
    Snap.Internal.Util.FileServe,
0972e7b
    Snap.Internal.Util.FileUploads,
0972e7b
    --------------------------------------------------------------------------
0972e7b
    Snap.Core.Tests,
0972e7b
    Snap.Internal.Http.Types.Tests,
0972e7b
    Snap.Internal.Parsing.Tests,
0972e7b
    Snap.Internal.Routing.Tests,
0972e7b
    Snap.Test.Common,
0972e7b
    Snap.Test.Tests,
0972e7b
    Snap.Types.Headers.Tests,
0972e7b
    Snap.Util.CORS.Tests,
0972e7b
    Snap.Util.FileServe.Tests,
0972e7b
    Snap.Util.FileUploads.Tests,
0972e7b
    Snap.Util.GZip.Tests,
0972e7b
    Snap.Util.Proxy.Tests
0972e7b
0972e7b
  build-depends:
0972e7b
    HUnit,
0972e7b
    attoparsec,
0972e7b
    base,
0972e7b
    bytestring,
0972e7b
    bytestring-builder,
0972e7b
    case-insensitive,
0972e7b
    containers,
0972e7b
    directory,
0972e7b
    filepath,
0972e7b
    hashable,
0972e7b
    lifted-base,
0972e7b
    io-streams,
0972e7b
    monad-control,
0972e7b
    mtl,
0972e7b
    random,
0972e7b
    readable,
0972e7b
    regex-posix,
0972e7b
    text,
0972e7b
    time,
0972e7b
    transformers,
0972e7b
    transformers-base,
0972e7b
    unix-compat,
0972e7b
    unordered-containers,
0972e7b
    vector,
0972e7b
    --------------------------------------------------------------------------
0972e7b
    QuickCheck                 >= 2.3.0.2  && <3,
0972e7b
    deepseq                    >= 1.1      && < 1.5,
0972e7b
    parallel                   >= 3        && <4,
0972e7b
    test-framework             >= 0.8.0.3  && <0.9,
0972e7b
    test-framework-hunit       >= 0.2.7    && <0.4,
0972e7b
    test-framework-quickcheck2 >= 0.2.12.1 && <0.4,
0972e7b
    zlib                       >= 0.5      && <0.7
0972e7b
0972e7b
  if flag(network-uri)
0972e7b
    build-depends: network-uri,
0972e7b
                   network
0972e7b
  else
0972e7b
    build-depends: network-uri,
0972e7b
                   network
0972e7b
0972e7b
  ghc-options: -Wall -fwarn-tabs -funbox-strict-fields -threaded
0972e7b
               -fno-warn-unused-do-bind
0972e7b
0972e7b
  -- See https://ghc.haskell.org/trac/ghc/wiki/Migration/8.0#base-4.9.0.0
0972e7b
  if impl(ghc < 8.8)
0972e7b
    if impl(ghc >= 8.0)
0972e7b
      ghc-options: -Wcompat -Wnoncanonical-monad-instances -Wnoncanonical-monadfail-instances
0972e7b
    else
0972e7b
      build-depends: fail == 4.9.*, semigroups == 0.18.*
0972e7b
0972e7b
  other-extensions:
0972e7b
    BangPatterns,
0972e7b
    CPP,
0972e7b
    DeriveDataTypeable,
0972e7b
    EmptyDataDecls,
0972e7b
    ExistentialQuantification,
0972e7b
    FlexibleContexts,
0972e7b
    FlexibleInstances,
0972e7b
    ForeignFunctionInterface,
0972e7b
    GeneralizedNewtypeDeriving,
0972e7b
    MagicHash,
0972e7b
    MultiParamTypeClasses,
0972e7b
    OverloadedStrings,
0972e7b
    Rank2Types,
0972e7b
    ScopedTypeVariables,
0972e7b
    StandaloneDeriving,
0972e7b
    TypeFamilies,
0972e7b
    TypeSynonymInstances
0972e7b
0972e7b
source-repository head
0972e7b
  type:     git
0972e7b
  location: git://github.com/snapframework/snap-core.git