X-Git-Url: http://git.cielonegro.org/gitweb.cgi?a=blobdiff_plain;f=Network%2FHTTP%2FLucu.hs;h=79b74144aadfd87d07625f581653ee1c04c46572;hb=ea2b7838f1b3d9d4923a220a601be2e04cc559d7;hp=14d39543aca45b86f6796e940c1835f48652f65a;hpb=41b0d69438ec76c5bd070348cf9912dc72f3ff44;p=Lucu.git diff --git a/Network/HTTP/Lucu.hs b/Network/HTTP/Lucu.hs index 14d3954..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. +-- +-- [/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,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