]> gitweb @ CieloNegro.org - Lucu.git/blob - Network/HTTP/Lucu/Parser/Http.hs
Initial Import
[Lucu.git] / Network / HTTP / Lucu / Parser / Http.hs
1 module Network.HTTP.Lucu.Parser.Http
2     ( isCtl       -- Char -> Bool
3     , isSeparator -- Char -> Bool
4     , token       -- Parser Char
5     )
6     where
7
8 import qualified Data.ByteString.Lazy.Char8 as B
9 import           Data.ByteString.Lazy.Char8 (ByteString)
10 import           Data.List
11 import           Network.HTTP.Lucu.Parser
12
13 isCtl :: Char -> Bool
14 isCtl c
15     | c <  '\x1f' = True
16     | c == '\x7f' = True
17     | otherwise  = False
18
19
20 isSeparator :: Char -> Bool
21 isSeparator c = elem c "()<>@,;:\\\"/[]?={} \t"
22
23
24 token :: Parser Char
25 token = satisfy (\ c -> not (isCtl c || isSeparator c))