on master help sign in
changing the signature of sendResponse

syncing with recvRequest as much as possible.

commited67c12f8f7443b463c50f8daca6f325a3be2140 authorKazu Yamamoto <kazu@iij.ad.jp> dateWed 30 Oct 2013, 13:27 (13 years ago) parent69cdd06
2 files changed+10−8
warp/Network/Wai/Handler/Warp/Response.hs+8−6 warp/Network/Wai/Handler/Warp/Run.hs+2−2
warp/Network/Wai/Handler/Warp/Response.hs+8−6
@@ -36,15 +36,17 @@ import qualified System.PosixCompat.Files as P
3636----------------------------------------------------------------
3737----------------------------------------------------------------
3838
39−sendResponse :: InternalInfo -> Request -> Connection
39+sendResponse :: Connection
40+ -> InternalInfo
4041 -> (forall a. IO a -> IO a) -- ^ restore masking state
41− -> IndexedHeader
42+ -> Request
43+ -> IndexedHeader -- ^ Indexed header of HTTP request
4244 -> Response
4345 -> IO Bool
4446
4547----------------------------------------------------------------
4648
47−sendResponse ii req conn restore reqidxhdr (ResponseFile s0 hs0 path mpart0) =
49+sendResponse conn ii restore req reqidxhdr (ResponseFile s0 hs0 path mpart0) =
4850 restore $ headerAndLength >>= sendResponse'
4951 where
5052 hs = addAccept hs0
@@ -98,13 +100,13 @@ sendResponse ii req conn restore reqidxhdr (ResponseFile s0 hs0 path mpart0) =
98100 (isPersist,_) = infoFromRequest req reqidxhdr
99101
100102 sendResponse' (Left (_ :: SomeException)) =
101− sendResponse ii req conn restore reqidxhdr notFound
103+ sendResponse conn ii restore req reqidxhdr notFound
102104 where
103105 notFound = responseLBS H.status404 [(H.hContentType, "text/plain")] "File not found"
104106
105107----------------------------------------------------------------
106108
107−sendResponse ii req conn restore reqidxhdr (ResponseBuilder s hs b)
109+sendResponse conn ii restore req reqidxhdr (ResponseBuilder s hs b)
108110 | hasBody s req = restore $ do
109111 header <- composeHeaderBuilder version s hs needsChunked
110112 let body
@@ -127,7 +129,7 @@ sendResponse ii req conn restore reqidxhdr (ResponseBuilder s hs b)
127129
128130----------------------------------------------------------------
129131
130−sendResponse ii req conn restore reqidxhdr (ResponseSource s hs withBodyFlush)
132+sendResponse conn ii restore req reqidxhdr (ResponseSource s hs withBodyFlush)
131133 | hasBody s req = withBodyFlush $ \bodyFlush -> restore $ do
132134 header <- liftIO $ composeHeaderBuilder version s hs needsChunked
133135 let src = CL.sourceList [header] `mappend` cbody bodyFlush
warp/Network/Wai/Handler/Warp/Run.hs+2−2
@@ -218,7 +218,7 @@ serveConnection timeoutHandle settings ii app conn remoteHost' =
218218 th = threadHandle ii
219219
220220 send500 = void $ mask $ \restore ->
221− sendResponse ii dummyreq conn restore defaultIndexRequestHeader internalError
221+ sendResponse conn ii restore dummyreq defaultIndexRequestHeader internalError
222222
223223 dummyreq = defaultRequest { remoteHost = remoteHost' }
224224
@@ -237,7 +237,7 @@ serveConnection timeoutHandle settings ii app conn remoteHost' =
237237 keepAlive <- mask $ \restore -> do
238238 res <- restore $ app env
239239 liftIO $ T.resume th
240− sendResponse ii env conn restore idxhdr res
240+ sendResponse conn ii restore env idxhdr res
241241
242242 -- We just send a Response and it takes a time to
243243 -- receive a Request again. If we immediately call recv,