-- | 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. -- -- 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 -- * Resource Tree , ResTree , mkResTree -- * 'Resource' Monad , module Network.HTTP.Lucu.Resource -- ** Things to be used in the Resource monad -- *** Status Code , StatusCode(..) -- *** 'Abortion' , module Network.HTTP.Lucu.Abortion -- *** ETag , ETag(..) , strongETag , weakETag , parseETag -- *** MIME Type , MIMEType(..) , parseMIMEType , 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.ETag import Network.HTTP.Lucu.Httpd import Network.HTTP.Lucu.MIMEType hiding (mimeType) import Network.HTTP.Lucu.MIMEType.TH import Network.HTTP.Lucu.Resource import Network.HTTP.Lucu.Resource.Tree import Network.HTTP.Lucu.Response import Network.HTTP.Lucu.StaticFile