-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Library for maintaining correctness of URLs within an application.
--   
--   A collection of types and functions that ensure that URLs generated by
--   an application are valid. Need more properties here.
@package web-routes-wai
@version 0.24.3.1

module Web.Routes.Wai

-- | a low-level function for convert a parser, printer, and routing
--   function into an <a>Application</a>
handleWaiError :: (url -> [(Text, Maybe Text)] -> Text) -> (ByteString -> Either String url) -> ByteString -> (String -> Application) -> ((url -> [(Text, Maybe Text)] -> Text) -> url -> Application) -> Application

-- | a low-level function for convert a parser, printer, and routing
--   function into an <a>Application</a>
--   
--   returns 404 if the url parse fails.
handleWai_ :: (url -> [(Text, Maybe Text)] -> Text) -> (ByteString -> Either String url) -> ByteString -> ((url -> [(Text, Maybe Text)] -> Text) -> url -> Application) -> Application

-- | function to convert a routing function into an Application by
--   leveraging <a>PathInfo</a> to do the url conversion
handleWai :: (PathInfo url) => ByteString -> ((url -> [(Text, Maybe Text)] -> Text) -> url -> Application) -> Application

-- | a function to convert a parser, printer and routing function into an
--   <a>Application</a>.
--   
--   This is similar to <a>handleWai_</a> expect that it expects the
--   routing function to use <a>RouteT</a>.
handleWaiRouteT_ :: (url -> [(Text, Maybe Text)] -> Text) -> (ByteString -> Either String url) -> ByteString -> (url -> Request -> RouteT url IO Response) -> Application

-- | convert a <a>RouteT</a> based routing function into an
--   <a>Application</a> using <a>PathInfo</a> to do the url conversion
handleWaiRouteT :: (PathInfo url) => ByteString -> (url -> Request -> RouteT url IO Response) -> Application

-- | convert a 'Site url Application' into a plain-old <a>Application</a>
waiSite :: Site url Application -> ByteString -> Application
