wobsurv-0.1.0: wobsurv.cabal
name:
wobsurv
version:
0.1.0
synopsis:
A simple and highly performant HTTP file server
description:
Notable features:
.
* Based on streaming. Produces the response while the request is still coming. It doesn't waste resources on incorrect or malicious requests by dismissing them right away. It is very gentle with memory.
.
* Has a configurable limit of simultaneous connections. All exceeding requests get rejected with a "Service Unavailable" status with code 503.
category:
Network, Networking, Service
homepage:
https://github.com/nikita-volkov/wobsurv
bug-reports:
https://github.com/nikita-volkov/wobsurv/issues
author:
Nikita Volkov <nikita.y.volkov@mail.ru>
maintainer:
Nikita Volkov <nikita.y.volkov@mail.ru>
copyright:
(c) 2014, Nikita Volkov
license:
MIT
license-file:
LICENSE
build-type:
Simple
cabal-version:
>=1.10
source-repository head
type:
git
location:
git://github.com/nikita-volkov/wobsurv.git
library
hs-source-dirs:
library
other-modules:
Wobsurv.Interaction
Wobsurv.Logging
Wobsurv.RequestHeaders
Wobsurv.Response
Wobsurv.TemplateModels.Index
Wobsurv.TemplateModels.NotFound
-- * Things that could be extracted into external libraries:
-- ** A wrapper library over "hastache"
Wobsurv.Util.Mustache.Renderer
-- ** A basic implementation of the HTTP protocol
Wobsurv.Util.HTTP.Model
Wobsurv.Util.HTTP.Parser
Wobsurv.Util.HTTP.Renderer
Wobsurv.Util.HTTP.URLEncoding
-- ** A bound thread hierarchies management
Wobsurv.Util.MasterThread
-- ** A protocol-agnostic request-response server
Wobsurv.Util.OpenServer.Connection
Wobsurv.Util.OpenServer.ConnectionsManager
-- ** A composable exceptions handler
Wobsurv.Util.PartialHandler
-- ** Integration of "attoparsec" with "pipes"
Wobsurv.Util.PipesAttoparsec
-- ** A task performer thread,
-- which allows to execute sequential tasks in a non-blocking way.
Wobsurv.Util.WorkerThread
exposed-modules:
Wobsurv
build-depends:
-- file-system:
system-filepath == 0.4.*,
system-fileio == 0.3.*,
-- network:
network == 2.5.*,
network-simple == 0.4.*,
http-types == 0.8.*,
pipes-network == 0.6.*,
-- streaming:
pipes == 4.1.*,
pipes-parse == 3.0.*,
pipes-bytestring == 2.1.*,
pipes-text == 0.0.*,
pipes-safe == 2.2.*,
-- rendering:
hastache == 0.6.*,
-- parsing:
attoparsec == 0.12.*,
-- data:
stm-containers == 0.1.*,
old-locale == 1.0.*,
time == 1.4.*,
text >= 1.1.1.3 && < 1.3,
bytestring >= 0.10.4.0 && < 0.11,
unordered-containers == 0.2.*,
-- general:
stm == 2.4.*,
monad-control == 0.3.*,
transformers == 0.4.*,
base-prelude >= 0.1.5 && < 0.2
ghc-options:
-funbox-strict-fields
default-extensions:
Arrows, BangPatterns, ConstraintKinds, DataKinds, DefaultSignatures, DeriveDataTypeable, DeriveFunctor, DeriveGeneric, EmptyDataDecls, FlexibleContexts, FlexibleInstances, FunctionalDependencies, GADTs, GeneralizedNewtypeDeriving, ImpredicativeTypes, LambdaCase, LiberalTypeSynonyms, MagicHash, MultiParamTypeClasses, MultiWayIf, NoImplicitPrelude, NoMonomorphismRestriction, OverloadedStrings, PatternGuards, ParallelListComp, QuasiQuotes, RankNTypes, RecordWildCards, ScopedTypeVariables, StandaloneDeriving, TemplateHaskell, TupleSections, TypeFamilies, TypeOperators, UnboxedTuples
default-language:
Haskell2010
executable wobsurv
hs-source-dirs:
wobsurv
main-is:
Main.hs
build-depends:
wobsurv,
-- file-system:
system-filepath == 0.4.*,
system-fileio == 0.3.*,
-- network:
network == 2.5.*,
-- data:
yaml == 0.8.*,
aeson == 0.8.*,
text >= 1.1.1.3 && < 1.3,
bytestring >= 0.10.4.0 && < 0.11,
unordered-containers == 0.2.*,
-- general:
safe == 0.3.*,
base-prelude >= 0.1.5 && < 0.2
ghc-options:
-threaded
"-with-rtsopts=-N"
-funbox-strict-fields
default-extensions:
Arrows, BangPatterns, ConstraintKinds, DataKinds, DefaultSignatures, DeriveDataTypeable, DeriveFunctor, DeriveGeneric, EmptyDataDecls, FlexibleContexts, FlexibleInstances, FunctionalDependencies, GADTs, GeneralizedNewtypeDeriving, ImpredicativeTypes, LambdaCase, LiberalTypeSynonyms, MagicHash, MultiParamTypeClasses, MultiWayIf, NoImplicitPrelude, NoMonomorphismRestriction, OverloadedStrings, PatternGuards, ParallelListComp, QuasiQuotes, RankNTypes, RecordWildCards, ScopedTypeVariables, StandaloneDeriving, TemplateHaskell, TupleSections, TypeFamilies, TypeOperators, UnboxedTuples
default-language:
Haskell2010
test-suite tests
type:
exitcode-stdio-1.0
hs-source-dirs:
tests
main-is:
Main.hs
build-depends:
wobsurv,
-- testing:
HTF == 0.12.*,
quickcheck-instances == 0.3.*,
QuickCheck == 2.7.*,
HUnit == 1.2.*,
-- file-system:
system-filepath == 0.4.*,
system-fileio == 0.3.*,
-- network:
network == 2.5.*,
http-client == 0.3.*,
http-types == 0.8.*,
-- data:
text >= 1.1.1.3 && < 1.3,
bytestring >= 0.10.4.0 && < 0.11,
-- concurrency:
lifted-async == 0.2.*,
-- randomness:
mwc-random == 0.13.*,
-- general:
safe == 0.3.*,
transformers == 0.4.*,
base-prelude >= 0.1.5 && < 0.2
ghc-options:
-threaded
"-with-rtsopts=-N"
-funbox-strict-fields
default-extensions:
Arrows, BangPatterns, ConstraintKinds, DataKinds, DefaultSignatures, DeriveDataTypeable, DeriveFunctor, DeriveGeneric, EmptyDataDecls, FlexibleContexts, FlexibleInstances, FunctionalDependencies, GADTs, GeneralizedNewtypeDeriving, ImpredicativeTypes, LambdaCase, LiberalTypeSynonyms, MagicHash, MultiParamTypeClasses, MultiWayIf, NoImplicitPrelude, NoMonomorphismRestriction, OverloadedStrings, PatternGuards, ParallelListComp, QuasiQuotes, RankNTypes, RecordWildCards, ScopedTypeVariables, StandaloneDeriving, TemplateHaskell, TupleSections, TypeFamilies, TypeOperators, UnboxedTuples
default-language:
Haskell2010