-Name: Lucu
-Synopsis: HTTP Daemonic Library
+Name: Lucu
+Synopsis: Embedded HTTP Server
Description:
- Lucu is an HTTP daemonic library. It can be embedded in any
- Haskell program and runs in an independent thread. Lucu is
- not a replacement for Apache or lighttpd. It is intended to be
- used to create an efficient web-based RESTful application
- without messing around FastCGI. It is also intended to be run
- behind a reverse-proxy so it doesn't have some facilities like
- logging, client filtering or such like.
-Version: 0.7.0.2
-License: PublicDomain
-License-File: COPYING
-Author: PHO <pho at cielonegro dot org>
-Maintainer: PHO <pho at cielonegro dot org>
-Stability: experimental
-Homepage: http://cielonegro.org/Lucu.html
-Bug-Reports: http://static.cielonegro.org/ditz/Lucu/
-Category: Network
-Tested-With: GHC == 7.0.3
+ .
+ Lucu is an embedded HTTP server library.
+ .
+ This isn't a replacement for Apache nor lighttpd. It is intended
+ to be used to build an efficient web-based RESTful application
+ which runs behind a reverse-proxy so it doesn't have some
+ functionalities like logging, client filtering and such.
+ .
+ The library has indeed so many exposed modules, but in general
+ you don't need to import any modules other than
+ "Network.HTTP.Lucu".
+ .
+Version: 1.0
+License: PublicDomain
+License-File: COPYING
+Author: PHO <pho at cielonegro dot org>
+Maintainer: PHO <pho at cielonegro dot org>
+Stability: experimental
+Homepage: http://cielonegro.org/Lucu.html
+Bug-Reports: http://static.cielonegro.org/ditz/Lucu/
+Category: Network
+Tested-With: GHC == 7.0.3
Cabal-Version: >= 1.6
-Build-Type: Simple
+Build-Type: Simple
Extra-Source-Files:
- ImplantFile.hs
NEWS
- data/CompileMimeTypes.hs
- data/mime.types
examples/HelloWorld.hs
examples/Implanted.hs
examples/ImplantedSmall.hs
Description: Build the lucu-implant-file program.
Default: True
+Flag ssl
+ Description: Enable SSL support.
+ Default: False
+
Library
Build-Depends:
- HsOpenSSL == 0.10.*,
- base == 4.3.*,
- base-unicode-symbols == 0.2.*,
- base64-bytestring == 0.1.*,
- bytestring == 0.9.*,
- containers == 0.4.*,
- filepath == 1.2.*,
- directory == 1.1.*,
- haskell-src == 1.0.*,
- hxt == 9.1.*,
- mtl == 2.0.*,
- network == 2.3.*,
- stm == 2.2.*,
- time == 1.2.*,
- time-http == 0.1.*,
- unix == 2.4.*,
- zlib == 0.5.*
+ ascii == 0.0.*,
+ attoparsec == 0.9.*,
+ base == 4.*,
+ base-unicode-symbols == 0.2.*,
+ base64-bytestring == 0.1.*,
+ blaze-builder == 0.3.*,
+ bytestring == 0.9.*,
+ case-insensitive == 0.4.*,
+ collections-api == 1.0.*,
+ collections-base-instances == 1.0.*,
+ containers == 0.4.*,
+ directory == 1.1.*,
+ filepath == 1.2.*,
+ hxt == 9.1.*,
+ mtl == 2.0.*,
+ network == 2.3.*,
+ old-time == 1.0.*,
+ stm == 2.2.*,
+ stringsearch == 0.3.*,
+ syb == 0.3.*,
+ template-haskell == 2.5.*,
+ text == 0.11.*,
+ time == 1.2.*,
+ time-http == 0.2.*,
+ transformers == 0.2.*
+
+ if flag(ssl)
+ Build-Depends:
+ HsOpenSSL == 0.10.*
+ CPP-Options:
+ -DHAVE_SSL
Exposed-Modules:
Network.HTTP.Lucu
Network.HTTP.Lucu.Abortion
- Network.HTTP.Lucu.Authorization
+ Network.HTTP.Lucu.Authentication
Network.HTTP.Lucu.Config
Network.HTTP.Lucu.ETag
+ Network.HTTP.Lucu.HandleLike
+ Network.HTTP.Lucu.Headers
Network.HTTP.Lucu.HttpVersion
Network.HTTP.Lucu.Httpd
+ Network.HTTP.Lucu.Implant
+ Network.HTTP.Lucu.Implant.PrettyPrint
+ Network.HTTP.Lucu.Implant.Rewrite
+ Network.HTTP.Lucu.MIMEParams
Network.HTTP.Lucu.MIMEType
Network.HTTP.Lucu.MIMEType.DefaultExtensionMap
Network.HTTP.Lucu.MIMEType.Guess
- Network.HTTP.Lucu.Parser
+ Network.HTTP.Lucu.MIMEType.TH
+ Network.HTTP.Lucu.MultipartForm
Network.HTTP.Lucu.Parser.Http
+ Network.HTTP.Lucu.Parser
Network.HTTP.Lucu.Request
Network.HTTP.Lucu.Resource
+ Network.HTTP.Lucu.Resource.Dispatcher
Network.HTTP.Lucu.Resource.Tree
Network.HTTP.Lucu.Response
+ Network.HTTP.Lucu.SocketLike
Network.HTTP.Lucu.StaticFile
+ Network.HTTP.Lucu.StatusCode
Network.HTTP.Lucu.Utils
Other-Modules:
+ Data.Collections.Newtype.TH
+ Network.HTTP.Lucu.Abortion.Internal
Network.HTTP.Lucu.Chunk
Network.HTTP.Lucu.ContentCoding
Network.HTTP.Lucu.DefaultPage
- Network.HTTP.Lucu.Format
- Network.HTTP.Lucu.HandleLike
- Network.HTTP.Lucu.Headers
Network.HTTP.Lucu.Interaction
- Network.HTTP.Lucu.MultipartForm
+ Network.HTTP.Lucu.MIMEParams.Internal
+ Network.HTTP.Lucu.OrphanInstances
Network.HTTP.Lucu.Postprocess
Network.HTTP.Lucu.Preprocess
Network.HTTP.Lucu.RequestReader
+ Network.HTTP.Lucu.Resource.Internal
Network.HTTP.Lucu.ResponseWriter
- Network.HTTP.Lucu.SocketLike
+ Network.HTTP.Lucu.StatusCode.Internal
ghc-options:
-Wall
- -funbox-strict-fields
Executable lucu-implant-file
if flag(build-lucu-implant-file)
Main-Is: ImplantFile.hs
- ghc-options:
- -Wall
- -funbox-strict-fields
-
---Executable HelloWorld
--- Main-Is: HelloWorld.hs
--- Hs-Source-Dirs: ., examples
--- ghc-options: -fglasgow-exts -Wall -funbox-strict-fields -O3 -prof -auto-all
+ Build-Depends:
+ SHA == 1.5.*,
+ zlib == 0.5.*
---Executable Multipart
--- Main-Is: Multipart.hs
--- Hs-Source-Dirs: ., examples
--- ghc-options: -XBangPatterns -fglasgow-exts -Wall -funbox-strict-fields -prof -auto-all
+ ghc-options:
+ -Wall -rtsopts