-- [/Affinity for RESTafarians/] Lucu is specifically designed to be
-- suitable for RESTful applications.
--
--- [/Full support of HTTP\/1.1/] Lucu supports request pipelining,
+-- [/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.
+-- 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. It is
--- also intended to be run behind a reverse-proxy so it doesn't have
--- the following (otherwise essential) functionalities:
+-- 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.
-- * 'Config'uration
, module Network.HTTP.Lucu.Config
- -- * Resource Tree
- , ResTree
- , mkResTree
+ -- * URI-related data types
+ , Host
+ , Path
- -- * 'Resource' Monad
+ -- * 'Resource' dispatcher
+ , module Network.HTTP.Lucu.Dispatcher
+
+ -- * 'Rsrc' Monad
, module Network.HTTP.Lucu.Resource
-- ** Things to be used in the Resource monad
- -- *** Status Code
- , StatusCode(..)
+ -- *** 'Method'
+ , Method(..)
+
+ -- *** 'StatusCode'
+ , module Network.HTTP.Lucu.StatusCode
- -- *** Abortion
- , Abortion
- , mkAbortion
- , mkAbortion'
- , abort
+ -- *** 'Abortion'
+ , module Network.HTTP.Lucu.Abortion
-- *** ETag
, ETag(..)
-- *** MIME Type
, MIMEType(..)
- , mkMIMEType
+ , MIMEParams
, parseMIMEType
+ , mimeType
-- *** Authentication
, AuthChallenge(..)
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.MIMEType
+import Network.HTTP.Lucu.MIMEParams
+import Network.HTTP.Lucu.MIMEType hiding (mimeType)
+import Network.HTTP.Lucu.MIMEType.TH
+import Network.HTTP.Lucu.Request
import Network.HTTP.Lucu.Resource
-import Network.HTTP.Lucu.Resource.Tree
import Network.HTTP.Lucu.Response
import Network.HTTP.Lucu.StaticFile
+import Network.HTTP.Lucu.StatusCode
+import Network.HTTP.Lucu.Utils