added: fileSourceByteString
This function is to get `FileInfo` raw body.
This commit is contained in:
parent
06e0ffb48b
commit
7e2ca33ed5
@ -47,6 +47,7 @@ module Yesod.Core.Handler
|
|||||||
, fileName
|
, fileName
|
||||||
, fileContentType
|
, fileContentType
|
||||||
, fileSource
|
, fileSource
|
||||||
|
, fileSourceByteString
|
||||||
, fileMove
|
, fileMove
|
||||||
-- *** Convenience functions
|
-- *** Convenience functions
|
||||||
, languages
|
, languages
|
||||||
@ -252,7 +253,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 Data.Conduit (ConduitT, transPipe, Flush (Flush), yield, Void)
|
import Data.Conduit (ConduitT, connect, 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
|
||||||
import qualified Data.Foldable as Fold
|
import qualified Data.Foldable as Fold
|
||||||
@ -1360,6 +1361,16 @@ rawRequestBody = do
|
|||||||
fileSource :: MonadResource m => FileInfo -> ConduitT () S.ByteString m ()
|
fileSource :: MonadResource m => FileInfo -> ConduitT () S.ByteString m ()
|
||||||
fileSource = transPipe liftResourceT . fileSourceRaw
|
fileSource = transPipe liftResourceT . fileSourceRaw
|
||||||
|
|
||||||
|
-- | Strict `ByteString` body from `FileInfo`.
|
||||||
|
-- This function blocking while read file.
|
||||||
|
--
|
||||||
|
-- > do
|
||||||
|
-- > fileByteString <- fileSourceByteString fileInfo
|
||||||
|
--
|
||||||
|
-- @since 1.6.4
|
||||||
|
fileSourceByteString :: MonadResource m => FileInfo -> m S.ByteString
|
||||||
|
fileSourceByteString fileInfo = fileSource fileInfo `connect` CL.foldMap id
|
||||||
|
|
||||||
-- | Provide a pure value for the response body.
|
-- | Provide a pure value for the response body.
|
||||||
--
|
--
|
||||||
-- > respond ct = return . TypedContent ct . toContent
|
-- > respond ct = return . TypedContent ct . toContent
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
name: yesod-core
|
name: yesod-core
|
||||||
version: 1.6.3
|
version: 1.6.4
|
||||||
license: MIT
|
license: MIT
|
||||||
license-file: LICENSE
|
license-file: LICENSE
|
||||||
author: Michael Snoyman <michael@snoyman.com>
|
author: Michael Snoyman <michael@snoyman.com>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user