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