-- | Lucu is an embedded HTTP server library. -- -- Features: -- -- [/Affinity for RESTafarians/] Lucu is specifically designed to be -- suitable for RESTful applications. -- -- [/Full support of HTTP/\//1.1/] Lucu supports request pipelining, -- chunked I\/O, ETag comparison and \"100 Continue\". -- -- [/SSL connections/] Lucu can handle HTTP connections over Secure -- Socket Layer when configured with -fssl flag. -- -- Lucu is not a replacement for Apache or 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 the following -- (otherwise essential) functionalities: -- -- [/Logging/] Lucu doesn't write logs of any requests from any -- clients. -- -- [/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 somewhat 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 -- * 'Config'uration , module Network.HTTP.Lucu.Config -- * URI-related data types , Host , Path -- * 'Resource' dispatcher , module Network.HTTP.Lucu.Dispatcher -- * 'Rsrc' Monad , module Network.HTTP.Lucu.Resource -- ** Things to be used in the Resource monad -- *** 'Method' , Method(..) -- *** 'StatusCode' , module Network.HTTP.Lucu.Response.StatusCode -- *** 'Abortion' , module Network.HTTP.Lucu.Abortion -- *** ETag , ETag(..) , strongETag , weakETag -- *** MIME Type , MIMEType(..) , MIMEParams , mimeType -- *** Authentication , AuthChallenge(..) , AuthCredential(..) -- * Utilities -- ** Static file handling , module Network.HTTP.Lucu.StaticFile ) where import Network.HTTP.Lucu.Abortion import Network.HTTP.Lucu.Authentication import Network.HTTP.Lucu.Config import Network.HTTP.Lucu.Dispatcher import Network.HTTP.Lucu.ETag import Network.HTTP.Lucu.Httpd import Network.HTTP.Lucu.MIMEParams import Network.HTTP.Lucu.MIMEType import Network.HTTP.Lucu.Request import Network.HTTP.Lucu.Resource import Network.HTTP.Lucu.Response.StatusCode import Network.HTTP.Lucu.StaticFile import Network.HTTP.Lucu.Utils