Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Octocat-spinner-32-eaf2f5

Cannot retrieve contributors at this time

file 198 lines (177 sloc) 5.803 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197
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 <http://snapframework.com/>.
  .
  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 (<http://happstack.com/index.html>), 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
Something went wrong with that request. Please try again.