on master help sign in
passing transport to recvRequest.
commit54bddfd646a7923ba19d25950cd782f44d908968 authorKazu Yamamoto <kazu@iij.ad.jp> dateWed 27 Nov 2019, 21:53 (7 years ago) parent4b409c8
2 files changed+4−4
warp/Network/Wai/Handler/Warp/Request.hs+3−2 warp/Network/Wai/Handler/Warp/Run.hs+1−2
warp/Network/Wai/Handler/Warp/Request.hs+3−2
@@ -55,6 +55,7 @@ recvRequest :: Bool -- ^ first request on this connection?
5555 -> Timeout.Handle
5656 -> SockAddr -- ^ Peer's address.
5757 -> Source -- ^ Where HTTP request comes from.
58+ -> Transport
5859 -> IO (Request
5960 ,Maybe (I.IORef Int)
6061 ,IndexedHeader
@@ -64,7 +65,7 @@ recvRequest :: Bool -- ^ first request on this connection?
6465 -- 'IndexedHeader' of HTTP request for internal use,
6566 -- Body producing action used for flushing the request body
6667
67−recvRequest firstRequest settings conn ii th addr src = do
68+recvRequest firstRequest settings conn ii th addr src transport = do
6869 hdrlines <- headerLines firstRequest src
6970 (method, unparsedPath, path, query, httpversion, hdr) <- parseHeaderLines hdrlines
7071 let idxhdr = indexRequestHeader hdr
@@ -89,7 +90,7 @@ recvRequest firstRequest settings conn ii th addr src = do
8990 , rawQueryString = query
9091 , queryString = H.parseQuery query
9192 , requestHeaders = hdr
92− , isSecure = False
93+ , isSecure = isTransportSecure transport
9394 , remoteHost = addr
9495 , requestBody = rbody'
9596 , vault = vaultValue
warp/Network/Wai/Handler/Warp/Run.hs+1−2
@@ -419,8 +419,7 @@ serveConnection conn ii th origAddr transport settings app = do
419419 errorResponse e = settingsOnExceptionResponse settings e
420420
421421 http1 firstRequest addr istatus src = do
422− (req', mremainingRef, idxhdr, nextBodyFlush) <- recvRequest firstRequest settings conn ii th addr src
423− let req = req' { isSecure = isTransportSecure transport }
422+ (req, mremainingRef, idxhdr, nextBodyFlush) <- recvRequest firstRequest settings conn ii th addr src transport
424423 keepAlive <- processRequest istatus src req mremainingRef idxhdr nextBodyFlush
425424 `E.catch` \e -> do
426425 settingsOnException settings (Just req) e