| Stability | beta |
|---|---|
| Maintainer | Ertugrul Soeylemez <es@ertes.de> |
Network.IHttp.Header
Contents
Description
Iteratees for header parsing.
- httpHeader :: forall m. Monad m => Int -> Iteratee ByteString m (Maybe (ByteString, ByteString))
- httpHeaders :: forall m. Monad m => Int -> Int -> Iteratee ByteString m HeaderMap
- enumHeaders :: forall b m. Monad m => HeaderMap -> Enumerator ByteString m b
Iteratees
httpHeader :: forall m. Monad m => Int -> Iteratee ByteString m (Maybe (ByteString, ByteString))Source
Get the next header from the netLinesEmpty-splitted stream. The
header's content is length-limited by the given argument. If it's
longer, it's safely truncated in constant space. This iteratee
throws an iteratee error, if the next lines are not a valid HTTP
header or the stream ends prematurely. If the next line is an empty
line, this iteratee returns Nothing.
httpHeaders :: forall m. Monad m => Int -> Int -> Iteratee ByteString m HeaderMapSource
Get the headers of an HTTP request from a netLinesEmpty-splitted
byte stream. The first Int specifies the maximum length of
individual headers. The second Int specifies the maximum number of
headers. This iteratee throws an iteratee error on invalid input, of
if the stream ends prematurely.
Excess data is truncated safely in constant space.
Enumerators
enumHeaders :: forall b m. Monad m => HeaderMap -> Enumerator ByteString m bSource
Enumerate a HeaderMap as a protocol string stream. You can use
Data.Enumerator.Binary.iterHandle to send it. Note that this
enumerator never generates continuation lines. It also does not
enumerate the final empty line.