X-Git-Url: http://git.cielonegro.org/gitweb.cgi?a=blobdiff_plain;f=Network%2FHTTP%2FLucu.hs;h=aafaf73271e5048b1986846ed462bf9c7334fa1d;hb=ac2ff93f647d60d43ca3cc54eb776fe0f701ac9e;hp=80012b07ff6f6ae8256e9912135db939f5324737;hpb=11c3854540c46bfcd9e88c2164ed554f3b6550a5;p=Lucu.git diff --git a/Network/HTTP/Lucu.hs b/Network/HTTP/Lucu.hs index 80012b0..aafaf73 100644 --- a/Network/HTTP/Lucu.hs +++ b/Network/HTTP/Lucu.hs @@ -10,26 +10,29 @@ -- 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,23 @@ module Network.HTTP.Lucu -- *** Abortion , abort + , abortPurely , abortA -- *** ETag , ETag(..) , strongETag , weakETag + , parseETag -- *** MIME Type , MIMEType(..) + , mkMIMEType + , parseMIMEType + + -- *** Authorization + , AuthChallenge(..) + , AuthCredential(..) -- * Utility @@ -68,8 +80,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