X-Git-Url: http://git.cielonegro.org/gitweb.cgi?a=blobdiff_plain;f=Network%2FHTTP%2FLucu.hs;h=79b74144aadfd87d07625f581653ee1c04c46572;hb=ea2b783;hp=4ab6bc65abd01f376a70f997705c9534db365e41;hpb=a827a5e1ba744d89c5b2396bb195e344ae892306;p=Lucu.git diff --git a/Network/HTTP/Lucu.hs b/Network/HTTP/Lucu.hs index 4ab6bc6..79b7414 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. -- --- [/Logging/] Lucu doesn't log any requests from any clients. +-- [/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: -- --- [/Client Filtering/] Lucu always accept any clients. No IP filter --- is implemented. +-- [/Logging/] Lucu doesn't log any requests from any clients. -- --- [/SSL Support/] Lucu can handle HTTP only. +-- [/Client Filtering/] Lucu always accepts any clients. No IP +-- filter is implemented. -- -- [/Bandwidth Limitting/] Lucu doesn't limit bandwidth it consumes. -- -- [/Protection Against Wicked Clients/] Lucu is fragile against --- wicked clients. No attacker should cause a buffer-overflow but --- can possibly DoS it. +-- 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,18 +56,22 @@ module Network.HTTP.Lucu -- *** Abortion , abort + , abortPurely , abortA -- *** ETag , ETag(..) , strongETag , weakETag + , parseETag -- *** MIME Type , MIMEType(..) - , () - , (<:>) - , (<=>) + , parseMIMEType + + -- *** Authorization + , AuthChallenge(..) + , AuthCredential(..) -- * Utility @@ -71,13 +79,12 @@ 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 import Network.HTTP.Lucu.MIMEType -import Network.HTTP.Lucu.Request import Network.HTTP.Lucu.Resource hiding (driftTo) import Network.HTTP.Lucu.Resource.Tree import Network.HTTP.Lucu.Response