modified: use sinkLazy and toStrict

Because performance problem.
This commit is contained in:
ncaq 2018-05-01 17:15:13 +09:00
parent e664ae2e0e
commit a8df3c48c2

View File

@ -254,7 +254,7 @@ import Data.CaseInsensitive (CI, original)
import qualified Data.Conduit.List as CL import qualified Data.Conduit.List as CL
import Control.Monad.Trans.Resource (MonadResource, InternalState, runResourceT, withInternalState, getInternalState, liftResourceT, resourceForkIO) import Control.Monad.Trans.Resource (MonadResource, InternalState, runResourceT, withInternalState, getInternalState, liftResourceT, resourceForkIO)
import qualified System.PosixCompat.Files as PC import qualified System.PosixCompat.Files as PC
import Conduit ((.|), runConduit, foldC) import Conduit ((.|), runConduit, sinkLazy)
import Data.Conduit (ConduitT, transPipe, Flush (Flush), yield, Void) import Data.Conduit (ConduitT, transPipe, Flush (Flush), yield, Void)
import qualified Yesod.Core.TypeCache as Cache import qualified Yesod.Core.TypeCache as Cache
import qualified Data.Word8 as W8 import qualified Data.Word8 as W8
@ -1392,7 +1392,7 @@ fileSource = transPipe liftResourceT . fileSourceRaw
-- --
-- @since 1.6.5 -- @since 1.6.5
fileSourceByteString :: MonadResource m => FileInfo -> m S.ByteString fileSourceByteString :: MonadResource m => FileInfo -> m S.ByteString
fileSourceByteString fileInfo = runConduit $ fileSource fileInfo .| foldC fileSourceByteString fileInfo = runConduit (L.toStrict <$> (fileSource fileInfo .| sinkLazy))
-- | Provide a pure value for the response body. -- | Provide a pure value for the response body.
-- --