packages feed

wai-extra 2.0.3 → 2.0.3.1

raw patch · 3 files changed

+19/−12 lines, 3 files

Files

Network/Wai/Middleware/RequestLogger.hs view
@@ -79,21 +79,19 @@  mkRequestLogger :: RequestLoggerSettings -> IO Middleware mkRequestLogger RequestLoggerSettings{..} = do-    callback <--        case destination of-            Handle h -> return $ BS.hPutStr h . logToByteString-            Logger l -> return $ \msg -> do-                pushLogStr l msg-                flushLogStr l-            Callback c -> return c+    let (callback, flusher) =+            case destination of+                Handle h -> (BS.hPutStr h . logToByteString, return ())+                Logger l -> (pushLogStr l, flushLogStr l)+                Callback c -> (c, return ())     case outputFormat of         Apache ipsrc -> do-            getdate <- getDateGetter+            getdate <- getDateGetter flusher             apache <- initLogger ipsrc (LogCallback callback (return ())) getdate             return $ apacheMiddleware apache         Detailed useColors -> detailedMiddleware callback useColors         CustomOutputFormat formatter -> do-            getdate <- getDateGetter+            getdate <- getDateGetter flusher             return $ customMiddleware callback getdate formatter  apacheMiddleware :: ApacheLoggerActions -> Middleware
Network/Wai/Middleware/RequestLogger/Internal.hs view
@@ -9,6 +9,8 @@  import Data.ByteString (ByteString) import Network.Wai.Logger (clockDateCacher)+import Control.Concurrent (forkIO, threadDelay)+import Control.Monad (forever)  #if MIN_VERSION_fast_logger(2, 1, 0) import System.Log.FastLogger (LogStr, fromLogStr)@@ -36,5 +38,12 @@  #endif -getDateGetter :: IO (IO ByteString)-getDateGetter = fmap fst clockDateCacher+getDateGetter :: IO () -- ^ flusher+              -> IO (IO ByteString)+getDateGetter flusher = do+    (getter, updater) <- clockDateCacher+    _ <- forkIO $ forever $ do+        threadDelay 1000000+        updater+        flusher+    return getter
wai-extra.cabal view
@@ -1,5 +1,5 @@ Name:                wai-extra-Version:             2.0.3+Version:             2.0.3.1 Synopsis:            Provides some basic WAI handlers and middleware. Description:         The goal here is to provide common features without many dependencies. License:             MIT