diff --git a/Network/Sendfile/Fallback.hs b/Network/Sendfile/Fallback.hs index 8ac01e9..c5e8797 100644 --- a/Network/Sendfile/Fallback.hs +++ b/Network/Sendfile/Fallback.hs @@ -1,3 +1,4 @@ +{-# LANGUAGE CPP #-} module Network.Sendfile.Fallback ( sendfile , sendfileWithHeader @@ -26,6 +27,9 @@ sendfile sock path (PartOfFile off len) hook = -- See sinkHandle. sinkSocket :: MonadIO m => Socket -> IO () -> Sink ByteString m () +#if MIN_VERSION_conduit(0,5,0) +sinkSocket s hook = awaitForever $ \bs -> liftIO $ SB.sendAll s bs >> hook +#else sinkSocket s hook = NeedInput push close where push bs = flip PipeM (return ()) $ do @@ -33,6 +37,7 @@ sinkSocket s hook = NeedInput push close liftIO hook return (NeedInput push close) close = return () +#endif -- | -- Sendfile emulation using conduit. diff --git a/simple-sendfile.cabal b/simple-sendfile.cabal index 77336ae..8cc4ea5 100644 --- a/simple-sendfile.cabal +++ b/simple-sendfile.cabal @@ -41,7 +41,7 @@ Library else Other-Modules: Network.Sendfile.Fallback Build-Depends: bytestring >= 0.9 && < 0.10 - , conduit >= 0.4.1 && < 0.5 + , conduit >= 0.4.1 && < 0.6 , transformers >= 0.2.2 && < 0.4 Test-Suite spec