]> gitweb @ CieloNegro.org - Lucu.git/blobdiff - Network/HTTP/Lucu.hs
The library now compiles, and I'm now working on ImplantFile.hs
[Lucu.git] / Network / HTTP / Lucu.hs
index 80012b07ff6f6ae8256e9912135db939f5324737..79b74144aadfd87d07625f581653ee1c04c46572 100644 (file)
 --   CGI. It just spawns a new thread. Inter-process communication is
 --   done with STM.
 --
--- Lucu is not a replacement for Apache. It is intended to be used to
--- create an efficient web-based application without messing around
--- FastCGI. It is also intended to be run behind a reverse-proxy so it
--- doesn't have the following (otherwise essential) facilities:
+--   [/Affinity for RESTafarians/] Lucu is a carefully designed
+--   web server for RESTful applications.
+--
+--   [/SSL connections/] Lucu can handle HTTP connections over SSL
+--   layer.
+--
+-- 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 the following (otherwise
+-- essential) facilities:
 --
 --   [/Logging/] Lucu doesn't log any requests from any clients.
 --
 --   [/Client Filtering/] Lucu always accepts any clients. No IP
 --   filter is implemented.
 --
---   [/SSL Support/] Lucu can handle only HTTP.
---
 --   [/Bandwidth Limitting/] Lucu doesn't limit bandwidth it consumes.
 --
 --   [/Protection Against Wicked Clients/] Lucu is fragile against
 --   wicked clients. No attacker should be able to cause a
 --   buffer-overflow but can possibly DoS it.
 --
-
-
 module Network.HTTP.Lucu
     ( -- * Entry Point
       runHttpd
@@ -39,6 +42,7 @@ module Network.HTTP.Lucu
 
       -- * Resource Tree
     , ResourceDef(..)
+    , emptyResource
     , ResTree
     , mkResTree
 
@@ -52,15 +56,22 @@ module Network.HTTP.Lucu
 
       -- *** Abortion
     , abort
+    , abortPurely
     , abortA
 
       -- *** ETag
     , ETag(..)
     , strongETag
     , weakETag
+    , parseETag
 
       -- *** MIME Type
     , MIMEType(..)
+    , parseMIMEType
+
+      -- *** Authorization
+    , AuthChallenge(..)
+    , AuthCredential(..)
     
       -- * Utility
 
@@ -68,8 +79,8 @@ module Network.HTTP.Lucu
     , module Network.HTTP.Lucu.StaticFile
     )
     where
-
 import Network.HTTP.Lucu.Abortion
+import Network.HTTP.Lucu.Authorization
 import Network.HTTP.Lucu.Config
 import Network.HTTP.Lucu.ETag
 import Network.HTTP.Lucu.Httpd