name: snap-core
version: 0.4.0.2
synopsis: Snap: A Haskell Web Framework (Core)
description:
This is the first developer prerelease of the Snap framework. 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.Types",
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
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/Internal/Http/Types/Tests.hs,
test/suite/Snap/Internal/Routing/Tests.hs,
test/suite/Snap/Iteratee/Tests.hs,
test/suite/Snap/Test/Common.hs,
test/suite/Snap/Types/Tests.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.1 && <0.3
exposed-modules:
Data.CIByteString,
Snap.Types,
Snap.Iteratee,
Snap.Internal.Debug,
Snap.Internal.Http.Types,
Snap.Internal.Iteratee.Debug,
Snap.Internal.Parsing,
Snap.Util.FileServe,
Snap.Util.FileUploads,
Snap.Util.GZip
other-modules:
Snap.Internal.Instances,
Snap.Internal.Iteratee.KnuthMorrisPratt,
Snap.Internal.Routing,
Snap.Internal.Types
build-depends:
attoparsec >= 0.8.0.2 && < 0.9,
attoparsec-enumerator >= 0.2.0.3,
base >= 4 && < 5,
blaze-builder >= 0.2.1.4 && <0.3,
bytestring,
bytestring-nums,
containers,
deepseq >= 1.1 && <1.2,
directory,
dlist >= 0.5 && < 0.6,
enumerator >= 0.4.5 && < 0.5,
filepath,
MonadCatchIO-transformers >= 0.2.1 && < 0.3,
mtl == 2.0.*,
old-locale,
old-time,
text >= 0.11 && <0.12,
time,
transformers == 0.2.*,
unix-compat == 0.2.*,
vector >= 0.6 && <0.8,
zlib
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: http://git.snapframework.com/snap-core.git