tighttp-0.0.0.0: src/Network/TigHTTP/Token.hs
module Network.TigHTTP.Token (
isTokenChar,
isTextChar,
isQdtextChar,
) where
import Data.Char (isAscii)
import Control.Applicative
isCtl, isSeparator, isTokenChar, isTextChar, isQdtextChar :: Char -> Bool
isCtl = (`elem` (['\0' .. '\31'] ++ "\DEL"))
isSeparator = (`elem` "()<>@,;:\\\"/[]?={} \t")
isTokenChar = (&&) <$> not . isCtl <*> not . isSeparator
isTextChar = (&&) <$> isAscii <*> not . isCtl
isQdtextChar = (&&) <$> isTextChar <*> (/= '"')