salvia-0.1: src/Network/Salvia/Handler/ExtensionDispatcher.hs
module Network.Salvia.Handler.ExtensionDispatcher (
hExtension
, hExtensionRouter
) where
import Data.Record.Label
import Network.Protocol.Http (uri)
import Network.Protocol.Uri (extension, path)
import Network.Salvia.Handler.Dispatching
import Network.Salvia.Httpd (request)
{- | Request dispatcher based on the request path file extenstion. -}
hExtension :: Dispatcher (Maybe String) a
hExtension = hDispatch (extension % path % uri % request) (==)
{- | List dispatcher version of `hExtension`. -}
hExtensionRouter :: ListDispatcher (Maybe String) a
hExtensionRouter = hListDispatch hExtension