]> gitweb @ CieloNegro.org - Lucu.git/blobdiff - Network/HTTP/Lucu/Parser/Http.hs
Merge branch 'convertible'
[Lucu.git] / Network / HTTP / Lucu / Parser / Http.hs
index e59f4607b25b521d6935a2c4a75a2c4f997e9495..6758d40c2ae87e4a404a03672a173a42f46f3832 100644 (file)
@@ -30,8 +30,7 @@ import Control.Applicative
 import Control.Monad
 import Data.Ascii (Ascii)
 import qualified Data.Ascii as A
-import Data.Attoparsec.Char8 as P hiding (scan)
-import qualified Data.Attoparsec.FastSet as FS
+import Data.Attoparsec.Char8
 import qualified Data.ByteString.Char8 as BS
 import Network.HTTP.Lucu.Parser
 import Prelude.Unicode
@@ -53,10 +52,7 @@ isText = (¬) ∘ isCtl
 -- separators.
 isSeparator ∷ Char → Bool
 {-# INLINE isSeparator #-}
-isSeparator = flip FS.memberChar set
-    where
-      {-# NOINLINE set #-}
-      set = FS.charClass "()<>@,;:\\\"/[]?={}\x20\x09"
+isSeparator = inClass "()<>@,;:\\\"/[]?={}\x20\x09"
 
 -- |@'isChar' c@ returns 'True' iff @c <= 0x7f@.
 isChar ∷ Char → Bool
@@ -126,7 +122,7 @@ separators = (A.unsafeFromByteString <$> takeWhile1 isSeparator)
 quotedStr ∷ Parser Ascii
 {-# INLINEABLE quotedStr #-}
 quotedStr = do void $ char '"'
-               xs ← P.many (qdtext <|> quotedPair)
+               xs ← many (qdtext <|> quotedPair)
                void $ char '"'
                return ∘ A.unsafeFromByteString $ BS.pack xs
             <?>