on master help sign in
Merge pull request #559 from utdemir/master

warp-tls: Handle recv failure on mkConn

commit586225b35919a1b725132eab9cfa8123ba6c6178 authorKazu Yamamoto <kazu@iij.ad.jp> dateTue 21 Jun 2016, 21:37 (10 years ago) parente0fcc8aabff247
1 file changed+7−6
warp-tls/Network/Wai/Handler/WarpTLS.hs+7−6
warp-tls/Network/Wai/Handler/WarpTLS.hs+7−6
@@ -309,12 +309,13 @@ getter tlsset@TLSSettings{..} sock params = do
309309 return (mkConn tlsset s params, sa)
310310
311311mkConn :: TLS.TLSParams params => TLSSettings -> Socket -> params -> IO (Connection, Transport)
312−mkConn tlsset s params = do
313− firstBS <- safeRecv s 4096
314− (if not (S.null firstBS) && S.head firstBS == 0x16 then
315− httpOverTls tlsset s firstBS params
316− else
317− plainHTTP tlsset s firstBS) `onException` sClose s
312+mkConn tlsset s params =
313+ ( do firstBS <- safeRecv s 4096
314+ if not (S.null firstBS) && S.head firstBS == 0x16 then
315+ httpOverTls tlsset s firstBS params
316+ else
317+ plainHTTP tlsset s firstBS
318+ ) `onException` sClose s
318319
319320----------------------------------------------------------------
320321