Copyright | Will Thompson Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria (garetxe@gmail.com) |
Safe Haskell | None |
Language | Haskell2010 |
- newtype MultipartInputStream = MultipartInputStream (ManagedPtr MultipartInputStream)
- class GObject o => IsMultipartInputStream o
- toMultipartInputStream :: (MonadIO m, IsMultipartInputStream o) => o -> m MultipartInputStream
- noMultipartInputStream :: Maybe MultipartInputStream
- multipartInputStreamGetHeaders :: (HasCallStack, MonadIO m, IsMultipartInputStream a) => a -> m (Maybe MessageHeaders)
- multipartInputStreamNew :: (HasCallStack, MonadIO m, IsMessage a, IsInputStream b) => a -> b -> m MultipartInputStream
- multipartInputStreamNextPart :: (HasCallStack, MonadIO m, IsMultipartInputStream a, IsCancellable b) => a -> Maybe b -> m (Maybe InputStream)
- multipartInputStreamNextPartAsync :: (HasCallStack, MonadIO m, IsMultipartInputStream a, IsCancellable b) => a -> Int32 -> Maybe b -> Maybe AsyncReadyCallback -> m ()
- multipartInputStreamNextPartFinish :: (HasCallStack, MonadIO m, IsMultipartInputStream a, IsAsyncResult b) => a -> b -> m (Maybe InputStream)
- constructMultipartInputStreamMessage :: (IsMultipartInputStream o, IsMessage a) => a -> IO (GValueConstruct o)
- getMultipartInputStreamMessage :: (MonadIO m, IsMultipartInputStream o) => o -> m (Maybe Message)
Exported types
newtype MultipartInputStream Source #
class GObject o => IsMultipartInputStream o Source #
toMultipartInputStream :: (MonadIO m, IsMultipartInputStream o) => o -> m MultipartInputStream Source #
Methods
getHeaders
multipartInputStreamGetHeaders Source #
:: (HasCallStack, MonadIO m, IsMultipartInputStream a) | |
=> a |
|
-> m (Maybe MessageHeaders) | Returns: a |
Obtains the headers for the part currently being processed. Note
that the MessageHeaders
that are returned are owned by the
MultipartInputStream
and will be replaced when a call is made
to multipartInputStreamNextPart
or its async
counterpart, so if keeping the headers is required, a copy must be
made.
Note that if a part had no headers at all an empty MessageHeaders
will be returned.
Since: 2.40
new
multipartInputStreamNew Source #
:: (HasCallStack, MonadIO m, IsMessage a, IsInputStream b) | |
=> a |
|
-> b |
|
-> m MultipartInputStream | Returns: a new |
Creates a new MultipartInputStream
that wraps the
InputStream
obtained by sending the Request
. Reads should
not be done directly through this object, use the input streams
returned by multipartInputStreamNextPart
or its async
counterpart instead.
Since: 2.40
nextPart
multipartInputStreamNextPart Source #
:: (HasCallStack, MonadIO m, IsMultipartInputStream a, IsCancellable b) | |
=> a |
|
-> Maybe b |
|
-> m (Maybe InputStream) | Returns: a new |
Obtains an input stream for the next part. When dealing with a
multipart response the input stream needs to be wrapped in a
MultipartInputStream
and this function or its async
counterpart need to be called to obtain the first part for
reading.
After calling this function,
multipartInputStreamGetHeaders
can be used to obtain the
headers for the first part. A read of 0 bytes indicates the end of
the part; a new call to this function should be done at that point,
to obtain the next part.
Since: 2.40
nextPartAsync
multipartInputStreamNextPartAsync Source #
:: (HasCallStack, MonadIO m, IsMultipartInputStream a, IsCancellable b) | |
=> a |
|
-> Int32 |
|
-> Maybe b |
|
-> Maybe AsyncReadyCallback |
|
-> m () |
Obtains a InputStream
for the next request. See
multipartInputStreamNextPart
for details on the
workflow.
Since: 2.40
nextPartFinish
multipartInputStreamNextPartFinish Source #
:: (HasCallStack, MonadIO m, IsMultipartInputStream a, IsAsyncResult b) | |
=> a |
|
-> b |
|
-> m (Maybe InputStream) | Returns: a newly created
|
Finishes an asynchronous request for the next part.
Since: 2.40
Properties
message
constructMultipartInputStreamMessage :: (IsMultipartInputStream o, IsMessage a) => a -> IO (GValueConstruct o) Source #
getMultipartInputStreamMessage :: (MonadIO m, IsMultipartInputStream o) => o -> m (Maybe Message) Source #