packages feed

wai-logger-0.0.0: Network/Wai/Logger/Prefork/Stdout.hs

module Network.Wai.Logger.Prefork.Stdout (stdoutLoggerInit) where

import Control.Applicative
import Data.ByteString.Char8 (pack)
import Network.Wai.Logger.Date
import Network.Wai.Logger.Format
import Network.Wai.Logger.IO
import Network.Wai.Logger.Prefork.Types
import qualified Data.ByteString as BS

stdoutLoggerInit :: IO ApacheLogger
stdoutLoggerInit = stdoutLogger <$> dateInit

stdoutLogger :: DateRef -> ApacheLogger
stdoutLogger dateref req status msiz = do
    date <- getDate dateref
    BS.putStr $ BS.concat $ map toBS $ apacheFormat date req status msiz
  where
    toBS (LS s) = pack s
    toBS (LB s) = s