on master help sign in
Don't log raw responses #265
commitfcc2f4bd9b2485dedb1c88b0c226b6768f1f3359 authorMichael Snoyman <michael@snoyman.com> dateThu 19 Jun 2014, 11:02 (12 years ago) parent5b1a7e3
1 file changed+7−1
wai-extra/Network/Wai/Middleware/RequestLogger.hs+7−1
wai-extra/Network/Wai/Middleware/RequestLogger.hs+7−1
@@ -37,6 +37,8 @@ import qualified Data.ByteString.Char8 as S8
3737import System.Console.ANSI
3838import Data.IORef.Lifted
3939import System.IO.Unsafe
40+import Control.Monad (unless)
41+import Network.Wai.Internal (Response (ResponseRaw))
4042
4143import Data.Default.Class (Default (def))
4244import Network.Wai.Logger
@@ -234,11 +236,15 @@ detailedMiddleware' cb getAddColor app req sendResponse = do
234236 ]
235237
236238 app req' $ \rsp -> do
239+ let isRaw =
240+ case rsp of
241+ ResponseRaw{} -> True
242+ _ -> False
237243
238244 -- log the status of the response
239245 -- this is color coordinated with the request logging
240246 -- also includes the request path to connect it to the request
241− liftIO $ cb $ mconcat $ map toLogStr $
247+ unless isRaw $ cb $ mconcat $ map toLogStr $
242248 addColor "Status: " ++ statusBS rsp ++
243249 [ " "
244250 , msgBS rsp