on master help sign in
refactoring.
commit7b7e5aeeeb0b2deb44799fa40c0a3d4457d18a06 authorKazu Yamamoto <kazu@iij.ad.jp> dateWed 22 Jun 2016, 14:48 (10 years ago) parent586225b
1 file changed+7−6
warp-tls/Network/Wai/Handler/WarpTLS.hs+7−6
warp-tls/Network/Wai/Handler/WarpTLS.hs+7−6
@@ -309,13 +309,14 @@ 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 =
313− ( do firstBS <- safeRecv s 4096
314− if not (S.null firstBS) && S.head firstBS == 0x16 then
315− httpOverTls tlsset s firstBS params
312+mkConn tlsset s params = switch `onException` sClose s
313+ where
314+ switch = do
315+ firstBS <- safeRecv s 4096
316+ if not (S.null firstBS) && S.head firstBS == 0x16 then
317+ httpOverTls tlsset s firstBS params
316318 else
317− plainHTTP tlsset s firstBS
318− ) `onException` sClose s
319+ plainHTTP tlsset s firstBS
319320
320321----------------------------------------------------------------
321322