Safe Haskell | None |
---|
Data.Conduit.Binary
Description
Functions for interacting with bytes.
- sourceFile :: MonadResource m => FilePath -> Source m ByteString
- sourceHandle :: MonadIO m => Handle -> Source m ByteString
- sourceIOHandle :: MonadResource m => IO Handle -> Source m ByteString
- sourceFileRange :: MonadResource m => FilePath -> Maybe Integer -> Maybe Integer -> Source m ByteString
- sinkFile :: MonadResource m => FilePath -> Sink ByteString m ()
- sinkHandle :: MonadIO m => Handle -> Sink ByteString m ()
- sinkIOHandle :: MonadResource m => IO Handle -> Sink ByteString m ()
- conduitFile :: MonadResource m => FilePath -> Conduit ByteString m ByteString
- isolate :: Monad m => Int -> Conduit ByteString m ByteString
- openFile :: MonadResource m => FilePath -> IOMode -> m Handle
- head :: Monad m => Sink ByteString m (Maybe Word8)
- takeWhile :: Monad m => (Word8 -> Bool) -> Conduit ByteString m ByteString
- dropWhile :: Monad m => (Word8 -> Bool) -> Sink ByteString m ()
- take :: Monad m => Int -> Sink ByteString m ByteString
- lines :: Monad m => Conduit ByteString m ByteString
Documentation
sourceFile :: MonadResource m => FilePath -> Source m ByteString
Stream the contents of a file as binary data.
Since 0.3.0
sourceHandle :: MonadIO m => Handle -> Source m ByteString
Stream the contents of a Handle
as binary data. Note that this
function will not automatically close the Handle
when processing
completes, since it did not acquire the Handle
in the first place.
Since 0.3.0
sourceIOHandle :: MonadResource m => IO Handle -> Source m ByteString
An alternative to sourceHandle
.
Instead of taking a pre-opened Handle
, it takes an action that opens
a Handle
(in read mode), so that it can open it only when needed
and close it as soon as possible.
Since 0.3.0
Arguments
:: MonadResource m | |
=> FilePath | |
-> Maybe Integer | Offset |
-> Maybe Integer | Maximum count |
-> Source m ByteString |
Stream the contents of a file as binary data, starting from a certain offset and only consuming up to a certain number of bytes.
Since 0.3.0
sinkFile :: MonadResource m => FilePath -> Sink ByteString m ()
Stream all incoming data to the given file.
Since 0.3.0
sinkHandle :: MonadIO m => Handle -> Sink ByteString m ()
Stream all incoming data to the given Handle
. Note that this function
will not automatically close the Handle
when processing completes.
Since 0.3.0
sinkIOHandle :: MonadResource m => IO Handle -> Sink ByteString m ()
An alternative to sinkHandle
.
Instead of taking a pre-opened Handle
, it takes an action that opens
a Handle
(in write mode), so that it can open it only when needed
and close it as soon as possible.
Since 0.3.0
conduitFile :: MonadResource m => FilePath -> Conduit ByteString m ByteString
Stream the contents of the input to a file, and also send it along the
pipeline. Similar in concept to the Unix command tee
.
Since 0.3.0
isolate :: Monad m => Int -> Conduit ByteString m ByteString
Ensure that only up to the given number of bytes are consume by the inner sink. Note that this does not ensure that all of those bytes are in fact consumed.
Since 0.3.0
openFile :: MonadResource m => FilePath -> IOMode -> m Handle
Open a file Handle
safely by automatically registering a release
action.
While you are not required to call hClose
on the resulting handle, you
should do so as early as possible to free scarce resources.
Since 0.3.0
head :: Monad m => Sink ByteString m (Maybe Word8)
Return the next byte from the stream, if available.
Since 0.3.0
takeWhile :: Monad m => (Word8 -> Bool) -> Conduit ByteString m ByteString
Return all bytes while the predicate returns True
.
Since 0.3.0
dropWhile :: Monad m => (Word8 -> Bool) -> Sink ByteString m ()
Ignore all bytes while the predicate returns True
.
Since 0.3.0
take :: Monad m => Int -> Sink ByteString m ByteString
Take the given number of bytes, if available.
Since 0.3.0
lines :: Monad m => Conduit ByteString m ByteString
Split the input bytes into lines. In other words, split on the LF byte (10), and strip it from the output.
Since 0.3.0