on master help sign in
better usage of NamedFieldPuns.
a4490e2Kazu Yamamoto
warp/Network/Wai/Handler/Warp/HTTP2/Receiver.hs+10−11
@@ -1,8 +1,7 @@
1{-# LANGUAGE OverloadedStrings #-}
1{-# LANGUAGE OverloadedStrings #-}
2−{-# LANGUAGE RecordWildCards #-}
2+{-# LANGUAGE RecordWildCards, NamedFieldPuns #-}
3{-# LANGUAGE BangPatterns #-}
3{-# LANGUAGE BangPatterns #-}
4{-# LANGUAGE CPP #-}
4{-# LANGUAGE CPP #-}
5−{-# LANGUAGE NamedFieldPuns #-}
6
5
7module Network.Wai.Handler.Warp.HTTP2.Receiver (frameReceiver) where
6module Network.Wai.Handler.Warp.HTTP2.Receiver (frameReceiver) where
8
7
@@ -28,17 +27,17 @@ import Network.Wai.Handler.Warp.Types
28----------------------------------------------------------------
27----------------------------------------------------------------
29
28
30frameReceiver :: Context -> MkReq -> (BufSize -> IO ByteString) -> IO ()
29frameReceiver :: 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 =
40 E.handle sendGoaway loop `E.finally` takeMVar wait
31 E.handle sendGoaway loop `E.finally` takeMVar wait
41 where
32 where
33+ Context{ http2settings
34+ , streamTable
35+ , concurrency
36+ , continued
37+ , currentStreamId
38+ , inputQ
39+ , outputQ
40+ , wait} = ctx
42 sendGoaway (ConnectionError err msg) = do
41 sendGoaway (ConnectionError err msg) = do
43 csid <- readIORef currentStreamId
42 csid <- readIORef currentStreamId
44 let frame = goawayFrame csid err msg
43 let frame = goawayFrame csid err msg