on master help sign in
cleaning up server push logger.
9c0435fKazu Yamamoto
warp/Network/Wai/Handler/Warp.hs+1−6
@@ -385,12 +385,7 @@ setLogger lgr y = y { settingsLogger = lgr }
385-- | Setting a log function for HTTP/2 server push.
385-- | Setting a log function for HTTP/2 server push.
386--
386--
387-- Since: 3.2.7
387-- Since: 3.2.7
388−setServerPushLogger :: (SockAddr
388+setServerPushLogger :: (Request -> ByteString -> Integer -> IO ()) -- ^ request, path, file-size
389− -> ByteString
390− -> Integer
391− -> ByteString
392− -> Maybe ByteString
393− -> IO ()) -- ^ socket address, URL path, file size, referer, maybe user-agent
394 -> Settings
389 -> Settings
395 -> Settings
390 -> Settings
396setServerPushLogger lgr y = y { settingsServerPushLogger = lgr }
391setServerPushLogger lgr y = y { settingsServerPushLogger = lgr }
warp/Network/Wai/Handler/Warp/HTTP2/Worker.hs+1−4
@@ -77,9 +77,6 @@ pushStream ctx@Context{http2settings,outputQ,streamTable}
77 !pps0 = http2dataPushPromise h2d
77 !pps0 = http2dataPushPromise h2d
78 !len = length pps0
78 !len = length pps0
79 !pushLogger = S.settingsServerPushLogger settings
79 !pushLogger = S.settingsServerPushLogger settings
80− !sa = remoteHost req
81− !mua = requestHeaderUserAgent req
82− !referer = rawPathInfo req
83 increment tvar = atomically $ modifyTVar' tvar (+1)
80 increment tvar = atomically $ modifyTVar' tvar (+1)
84 waiter lim tvar = atomically $ do
81 waiter lim tvar = atomically $ do
85 n <- readTVar tvar
82 n <- readTVar tvar
@@ -112,7 +109,7 @@ pushStream ctx@Context{http2settings,outputQ,streamTable}
112 !rsp = RspnFile H.ok200 (ths,vt) file (Just part)
109 !rsp = RspnFile H.ok200 (ths,vt) file (Just part)
113 !ths = (tokenLastModified,date) :
110 !ths = (tokenLastModified,date) :
114 addContentHeadersForFilePart ths0 part
111 addContentHeadersForFilePart ths0 part
115− pushLogger sa path size referer mua
112+ pushLogger req path size
116 let out = OPush strm promisedRequest rsp ii (increment tvar) pid
113 let out = OPush strm promisedRequest rsp ii (increment tvar) pid
117 enqueueOutput outputQ out
114 enqueueOutput outputQ out
118 push tvar pps (n + 1)
115 push tvar pps (n + 1)
warp/Network/Wai/Handler/Warp/Settings.hs+2−2
@@ -101,7 +101,7 @@ data Settings = Settings
101 -- ^ A log function. Default: no action.
101 -- ^ A log function. Default: no action.
102 --
102 --
103 -- Since 3.X.X.
103 -- Since 3.X.X.
104− , settingsServerPushLogger :: SockAddr -> ByteString -> Integer -> ByteString -> Maybe ByteString -> IO ()
104+ , settingsServerPushLogger :: Request -> ByteString -> Integer -> IO ()
105 -- ^ A HTTP/2 server push log function. Default: no action.
105 -- ^ A HTTP/2 server push log function. Default: no action.
106 --
106 --
107 -- Since 3.X.X.
107 -- Since 3.X.X.
@@ -144,7 +144,7 @@ defaultSettings = Settings
144 , settingsSlowlorisSize = 2048
144 , settingsSlowlorisSize = 2048
145 , settingsHTTP2Enabled = True
145 , settingsHTTP2Enabled = True
146 , settingsLogger = \_ _ _ -> return ()
146 , settingsLogger = \_ _ _ -> return ()
147− , settingsServerPushLogger = \_ _ _ _ _ -> return ()
147+ , settingsServerPushLogger = \_ _ _ -> return ()
148 , settingsGracefulShutdownTimeout = Nothing
148 , settingsGracefulShutdownTimeout = Nothing
149 }
149 }
150
150