@@ -1,8 +1,7 @@
11{-# LANGUAGE OverloadedStrings #-}
2−{-# LANGUAGE RecordWildCards #-}
2+{-# LANGUAGE RecordWildCards, NamedFieldPuns #-}
33{-# LANGUAGE BangPatterns #-}
44{-# LANGUAGE CPP #-}
5−{-# LANGUAGE NamedFieldPuns #-}
65
76module Network.Wai.Handler.Warp.HTTP2.Receiver (frameReceiver) where
87
@@ -28,17 +27,17 @@ import Network.Wai.Handler.Warp.Types
2827----------------------------------------------------------------
2928
3029frameReceiver :: Context -> MkReq -> (BufSize -> IO ByteString) -> IO ()
31−frameReceiver ctx@Context{ http2settings
32− , streamTable
33− , concurrency
34− , continued
35− , currentStreamId
36− , inputQ
37− , outputQ
38− , wait}
39− mkreq recvN =
30+frameReceiver ctx mkreq recvN =
4031 E.handle sendGoaway loop `E.finally` takeMVar wait
4132 where
33+ Context{ http2settings
34+ , streamTable
35+ , concurrency
36+ , continued
37+ , currentStreamId
38+ , inputQ
39+ , outputQ
40+ , wait} = ctx
4241 sendGoaway (ConnectionError err msg) = do
4342 csid <- readIORef currentStreamId
4443 let frame = goawayFrame csid err msg