@@ -29,14 +29,20 @@ import Network.Wai
2929import Network.Socket
3030import qualified Data.ByteString.Lazy as L
3131import Data.Conduit.Binary (sourceFileRange)
32+import Control.Monad.Trans.Resource (runResourceT)
3233import qualified Data.Conduit as C
3334import qualified Data.Conduit.List as CL
3435import Control.Exception (bracket, finally, handle)
3536import qualified Network.TLS.Extra as TLSExtra
3637import qualified Data.ByteString as B
37−import Data.Conduit.Network (bindPort)
38+#if MIN_VERSION_conduit(1,1,0)
39+import Data.Streaming.Network (bindPortTCP, acceptSafe)
40+#else
41+import Data.Conduit.Network (bindPort, acceptSafe)
42+#define bindPortTCP bindPort
43+#endif
3844import Control.Applicative ((<$>))
39−import Data.Conduit.Network (sourceSocket, sinkSocket, acceptSafe)
45+import Data.Conduit.Network (sourceSocket, sinkSocket)
4046import Data.Maybe (fromMaybe)
4147import qualified Data.IORef as I
4248import Control.Exception (Exception, throwIO)
@@ -148,7 +154,7 @@ runTLSSocket TLSSettings {..} set sock app = do
148154 , connSendAll = TLS.sendData ctx . L.fromChunks . return
149155 , connSendFile = \fp offset len _th headers -> do
150156 TLS.sendData ctx $ L.fromChunks headers
151− C.runResourceT $ sourceFileRange fp (Just offset) (Just len) C.$$ CL.mapM_ (TLS.sendData ctx . L.fromChunks . return)
157+ runResourceT $ sourceFileRange fp (Just offset) (Just len) C.$$ CL.mapM_ (TLS.sendData ctx . L.fromChunks . return)
152158 , connClose =
153159 TLS.bye ctx `finally`
154160 TLS.contextClose ctx
@@ -190,7 +196,7 @@ instance Exception WarpTLSException
190196runTLS :: TLSSettings -> Settings -> Application -> IO ()
191197runTLS tset set app = withSocketsDo $
192198 bracket
193− (bindPort (settingsPort set) (settingsHost set))
199+ (bindPortTCP (settingsPort set) (settingsHost set))
194200 sClose
195201 (\sock -> runTLSSocket tset set sock app)
196202