2 module Network.HTTP.Lucu.Chunk
3 ( chunkHeaderP -- Num a => Parser a
4 , chunkFooterP -- Parser ()
5 , chunkTrailerP -- Parser Headers
9 import Network.HTTP.Lucu.Headers
10 import Network.HTTP.Lucu.Parser
11 import Network.HTTP.Lucu.Parser.Http
15 chunkHeaderP :: Num a => Parser a
16 chunkHeaderP = do hexLen <- many1 hexDigit
20 let [(len, _)] = readHex hexLen
23 extension :: Parser ()
24 extension = do many $ do char ';'
29 {-# SPECIALIZE chunkHeaderP :: Parser Int #-}
32 chunkFooterP :: Parser ()
33 chunkFooterP = crlf >> return ()
36 chunkTrailerP :: Parser Headers
37 chunkTrailerP = headersP