module Network.Salvia.Handler.ExtendedFileSystem
( hExtendedFileSystemSendFile
, hExtendedFileSystem
) where
import Control.Applicative
import Control.Monad.Trans
import Network.Protocol.Http
import Network.Salvia
import Network.Salvia.Handler.CleverCSS
import Network.Salvia.Handler.HsColour
import Network.Salvia.Handler.SendFile
hExtendedFileSystemSendFile
:: (MonadIO m, HttpM' m, SocketQueueM m, SendM m, BodyM Request m, Alternative m)
=> String -> m ()
hExtendedFileSystemSendFile dir = hFileTypeDispatcher hDirectoryResource f dir
where
f file = hHighlightHaskell (hHsColour file)
. hWithDir dir
. hFilterCSS hCleverCSS
. hSendFileResource
$ file
hExtendedFileSystem
:: (MonadIO m, HttpM' m, SendM m, BodyM Request m, Alternative m)
=> String -> m ()
hExtendedFileSystem dir = hFileTypeDispatcher hDirectoryResource f dir
where
f file = hHighlightHaskell (hHsColour file)
. hWithDir dir
. hFilterCSS hCleverCSS
. hFileResource
$ file