name: snap-core version: 0.7 synopsis: Snap: A Haskell Web Framework (Core) 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. Type aliases and helper functions for Iteratee I/O . 3. A monad for programming web handlers called \"Snap\", inspired by happstack's (), 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", some iteratee utilities are in "Snap.Iteratee". . Higher-level facilities for building web applications (like user/session management, component interfaces, data modeling, etc.) are planned but not yet implemented, so this release will mostly be of interest for those who: . * need a fast and minimal HTTP API at roughly the same level of abstraction as Java servlets, or . * are interested in contributing to the Snap Framework project. license: BSD3 license-file: LICENSE author: James Sanders, Shu-yu Guo, Gregory Collins, Doug Beardsley maintainer: snap@snapframework.com build-type: Simple cabal-version: >= 1.6 homepage: http://snapframework.com/ category: Web, Snap extra-source-files: test/suite/TestSuite.hs, cbits/timefuncs.c, CONTRIBUTORS, extra/haddock.css, extra/hscolour.css, extra/logo.gif, haddock.sh, LICENSE, README.md, README.SNAP.md, Setup.hs, 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/foo.txt, test/data/fileServe/mydir3/altindex.html, test/runTestsAndCoverage.sh, test/snap-core-testsuite.cabal, test/suite/Snap/Core/Tests.hs, test/suite/Snap/Internal/Http/Types/Tests.hs, test/suite/Snap/Internal/Parsing/Tests.hs, test/suite/Snap/Internal/Routing/Tests.hs, test/suite/Snap/Iteratee/Tests.hs, test/suite/Snap/Test/Common.hs, test/suite/Snap/Util/FileServe/Tests.hs, test/suite/Snap/Util/FileUploads/Tests.hs, test/suite/Snap/Util/GZip/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 Library hs-source-dirs: src if !flag(debug) cpp-options: -DNODEBUG if flag(portable) || os(windows) cpp-options: -DPORTABLE else c-sources: cbits/timefuncs.c include-dirs: cbits build-depends: bytestring-mmap >= 0.2.2 && <0.3, unix >= 2.4 && <3.0 cpp-options: -DUSE_UNIX exposed-modules: Snap.Core, Snap.Types, Snap.Iteratee, Snap.Internal.Debug, Snap.Internal.Http.Types, Snap.Internal.Iteratee.Debug, Snap.Internal.Parsing, Snap.Test, Snap.Types.Headers, Snap.Util.FileServe, Snap.Util.FileUploads, Snap.Util.GZip, Snap.Util.Readable other-modules: Snap.Internal.Instances, Snap.Internal.Iteratee.BoyerMooreHorspool, Snap.Internal.Parsing.FastSet, Snap.Internal.Routing, Snap.Internal.Types, Snap.Internal.Test.RequestBuilder, Snap.Internal.Test.Assertions build-depends: attoparsec >= 0.10 && < 0.11, attoparsec-enumerator >= 0.3 && <0.4, base >= 4 && < 5, base16-bytestring <= 0.2, blaze-builder >= 0.2.1.4 && <0.4, blaze-builder-enumerator >= 0.2 && <0.3, bytestring, bytestring-nums, case-insensitive >= 0.3 && < 0.5, containers, deepseq >= 1.1 && <1.3, directory, dlist >= 0.5 && < 0.6, enumerator >= 0.4.13.1 && < 0.5, filepath, HUnit >= 1.2 && < 2, MonadCatchIO-transformers >= 0.2.1 && < 0.3, mtl == 2.0.*, mwc-random >= 0.10 && <0.11, old-locale, old-time, regex-posix <= 0.95.2, text >= 0.11 && <0.12, time >= 1.0 && < 1.5, transformers == 0.2.*, unix-compat >= 0.2 && <0.4, unordered-containers >= 0.1.4.3 && <0.2, vector >= 0.6 && <0.10, zlib-enum >= 0.2.1 && <0.3 extensions: BangPatterns, CPP, PackageImports, ScopedTypeVariables, EmptyDataDecls, ForeignFunctionInterface, OverloadedStrings, Rank2Types, TypeSynonymInstances, FlexibleInstances, ExistentialQuantification, OverloadedStrings, FlexibleContexts, GeneralizedNewtypeDeriving, DeriveDataTypeable, MultiParamTypeClasses ghc-prof-options: -prof -auto-all if impl(ghc >= 6.12.0) ghc-options: -Wall -fwarn-tabs -funbox-strict-fields -O2 -fno-warn-unused-do-bind else ghc-options: -Wall -fwarn-tabs -funbox-strict-fields -O2 source-repository head type: git location: git://github.com/snapframework/snap-core.git