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
|
||||
, fileContentType
|
||||
, fileSource
|
||||
, fileSourceByteString
|
||||
, fileMove
|
||||
-- *** Convenience functions
|
||||
, languages
|
||||
@ -252,7 +253,7 @@ import Data.CaseInsensitive (CI, original)
|
||||
import qualified Data.Conduit.List as CL
|
||||
import Control.Monad.Trans.Resource (MonadResource, InternalState, runResourceT, withInternalState, getInternalState, liftResourceT, resourceForkIO)
|
||||
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 Data.Word8 as W8
|
||||
import qualified Data.Foldable as Fold
|
||||
@ -1360,6 +1361,16 @@ rawRequestBody = do
|
||||
fileSource :: MonadResource m => FileInfo -> ConduitT () S.ByteString m ()
|
||||
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.
|
||||
--
|
||||
-- > respond ct = return . TypedContent ct . toContent
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
name: yesod-core
|
||||
version: 1.6.3
|
||||
version: 1.6.4
|
||||
license: MIT
|
||||
license-file: LICENSE
|
||||
author: Michael Snoyman <michael@snoyman.com>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user