@@ -19,6 +19,7 @@ import qualified Data.ByteString.Char8 as B8
1919import Data.CaseInsensitive (mk)
2020import Data.IORef (IORef, readIORef, newIORef, writeIORef)
2121import Data.Maybe (isJust)
22+import qualified Data.Vault.Lazy as Vault
2223#if __GLASGOW_HASKELL__ < 709
2324import Data.Monoid (mempty)
2425#endif
@@ -28,10 +29,13 @@ import Network.HTTP.Types (RequestHeaders,hRange)
2829import qualified Network.HTTP.Types as H
2930import Network.Socket (SockAddr)
3031import Network.Wai
32+import Network.Wai.Internal (Request(..))
3133import Network.Wai.Handler.Warp.HTTP2.Types
3234import Network.Wai.Handler.Warp.ReadInt
35+import Network.Wai.Handler.Warp.Request (pauseTimeoutKey, getFileInfoKey)
36+import Network.Wai.Handler.Warp.Types (InternalInfo(..))
3337import qualified Network.Wai.Handler.Warp.Settings as S (Settings, settingsNoParsePath)
34−import Network.Wai.Internal (Request(..))
38+import qualified Network.Wai.Handler.Warp.Timeout as Timeout
3539
3640data ValidHeaders = ValidHeaders {
3741 vhMethod :: ByteString
@@ -43,8 +47,8 @@ data ValidHeaders = ValidHeaders {
4347
4448type MkReq = ValidHeaders -> IO ByteString -> Request
4549
46−mkRequest :: S.Settings -> SockAddr -> MkReq
47−mkRequest settings addr (ValidHeaders m p ma _ hdr) body = req
50+mkRequest :: InternalInfo -> S.Settings -> SockAddr -> MkReq
51+mkRequest ii settings addr (ValidHeaders m p ma _ hdr) body = req
4852 where
4953 (unparsedPath,query) = B8.break (=='?') p
5054 path = H.extractPath unparsedPath
@@ -61,11 +65,15 @@ mkRequest settings addr (ValidHeaders m p ma _ hdr) body = req
6165 , isSecure = True
6266 , remoteHost = addr
6367 , requestBody = body
64− , vault = mempty
68+ , vault = vaultValue
6569 , requestBodyLength = ChunkedBody -- fixme
6670 , requestHeaderHost = ma
6771 , requestHeaderRange = lookup hRange hdr
6872 }
73+ th = threadHandle ii
74+ vaultValue = Vault.insert pauseTimeoutKey (Timeout.pause th)
75+ $ Vault.insert getFileInfoKey (fileInfo ii)
76+ Vault.empty
6977
7078----------------------------------------------------------------
7179