]> gitweb @ CieloNegro.org - Lucu.git/commitdiff
use attoparsec-0.10.* and time-http 0.4.*
authorPHO <pho@cielonegro.org>
Fri, 16 Dec 2011 13:29:19 +0000 (22:29 +0900)
committerPHO <pho@cielonegro.org>
Fri, 16 Dec 2011 13:29:19 +0000 (22:29 +0900)
Lucu.cabal
Network/HTTP/Lucu/Headers.hs
Network/HTTP/Lucu/MIMEParams.hs
Network/HTTP/Lucu/Parser/Http.hs

index 2dcbcc8927bdd5de9ec6fd87c4050f545ce5e640..c033bb4fdc1e29134a4155f6902bb3b39b47279e 100644 (file)
@@ -52,7 +52,7 @@ Library
     Build-Depends:
         ascii                      == 0.0.*,
         attempt                    == 0.3.*,
-        attoparsec                 == 0.9.*,
+        attoparsec                 == 0.10.*,
         base                       == 4.*,
         base-unicode-symbols       == 0.2.*,
         base64-bytestring          == 0.1.*,
@@ -76,7 +76,7 @@ Library
         template-haskell           == 2.5.*,
         text                       == 0.11.*,
         time                       == 1.2.*,
-        time-http                  == 0.3.*,
+        time-http                  == 0.4.*,
         transformers               == 0.2.*
 
     if flag(ssl)
index 242d19194d0a30f7f0d68bc375bc1914f0942505..ff3213bc20860e98f18db7a3a89c8e96385cf797 100644 (file)
@@ -22,7 +22,7 @@ import Control.Applicative.Unicode hiding ((∅))
 import Control.Monad
 import Data.Ascii (Ascii, AsciiBuilder, CIAscii)
 import qualified Data.Ascii as A
-import Data.Attoparsec.Char8 as P
+import Data.Attoparsec.Char8
 import qualified Data.Collections.Newtype.TH as C
 import Data.List (intersperse)
 import qualified Data.Map as M (Map)
@@ -118,7 +118,7 @@ merge a b
 -}
 headers ∷ Parser Headers
 {-# INLINEABLE headers #-}
-headers = do xs ← P.many header
+headers = do xs ← many header
              crlf
              return $ fromFoldable xs
     where
index 89b2bfda4e0ecb15beb5781f7d45a88e48e2bd4a..fcfee9e36f43737b426e0f4e20d8b0ab03905908 100644 (file)
@@ -25,7 +25,7 @@ import Control.Monad hiding (mapM)
 import Control.Monad.Unicode
 import Data.Ascii (Ascii, CIAscii, AsciiBuilder)
 import qualified Data.Ascii as A
-import Data.Attoparsec.Char8 as P
+import Data.Attoparsec.Char8
 import Data.Bits
 import qualified Data.ByteString.Char8 as BS
 import Data.Char
@@ -139,7 +139,7 @@ section ep                         = epSection ep
 -- |'Parser' for MIME parameter values.
 mimeParams ∷ Parser MIMEParams
 {-# INLINEABLE mimeParams #-}
-mimeParams = decodeParams =≪ P.many (try paramP)
+mimeParams = decodeParams =≪ many (try paramP)
 
 paramP ∷ Parser ExtendedParam
 paramP = do skipMany lws
@@ -186,7 +186,7 @@ initialEncodedValue
 
 encodedPayload ∷ Parser BS.ByteString
 {-# INLINE encodedPayload #-}
-encodedPayload = BS.concat <$> P.many (hexChar <|> rawChars)
+encodedPayload = BS.concat <$> many (hexChar <|> rawChars)
 
 hexChar ∷ Parser BS.ByteString
 {-# INLINEABLE hexChar #-}
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
             <?>