]> gitweb @ CieloNegro.org - Lucu.git/blobdiff - Network/HTTP/Lucu/ETag.hs
code cleanup
[Lucu.git] / Network / HTTP / Lucu / ETag.hs
index d4a157fa2eabeb66d133afe1b25c3393a59f2946..d87100095a71e78cafeba5435cdf02c397111b26 100644 (file)
@@ -10,8 +10,8 @@ module Network.HTTP.Lucu.ETag
 
     , strongETag
     , weakETag
-    , eTagP
-    , eTagListP
+    , eTag
+    , eTagList
     )
     where
 import Control.Applicative
@@ -20,6 +20,7 @@ import Data.Ascii (Ascii, AsciiBuilder)
 import qualified Data.Ascii as A
 import Data.Attoparsec.Char8
 import Data.Monoid.Unicode
+import Network.HTTP.Lucu.Parser
 import Network.HTTP.Lucu.Parser.Http hiding (token)
 import Network.HTTP.Lucu.Utils
 import Prelude.Unicode
@@ -52,15 +53,9 @@ printETag et
 parseETag ∷ Ascii → ETag
 {-# INLINEABLE parseETag #-}
 parseETag str
-    = case parseOnly p $ A.toByteString str of
+    = case parseOnly (finishOff eTag) $ A.toByteString str of
         Right et → et
         Left err → error ("unparsable ETag: " ⧺ A.toString str ⧺ ": " ⧺ err)
-    where
-      p ∷ Parser ETag
-      {-# INLINE p #-}
-      p = do et ← eTagP
-             endOfInput
-             return et
 
 -- |This is equivalent to @'ETag' 'False'@. If you want to generate an
 -- ETag from a file, try using
@@ -75,16 +70,16 @@ weakETag ∷ Ascii → ETag
 weakETag = ETag True
 
 -- |'Parser' for an 'ETag'.
-eTagP ∷ Parser ETag
-{-# INLINEABLE eTagP #-}
-eTagP = do isWeak ← option False (string "W/" *> return True)
-           str    ← quotedStr
-           return $ ETag isWeak str
+eTag ∷ Parser ETag
+{-# INLINEABLE eTag #-}
+eTag = do isWeak ← option False (string "W/" *> return True)
+          str    ← quotedStr
+          return $ ETag isWeak str
 
 -- |'Parser' for a list of 'ETag's.
-eTagListP ∷ Parser [ETag]
-{-# INLINEABLE eTagListP #-}
-eTagListP = do xs ← listOf eTagP
-               when (null xs) $
-                   fail "empty list of ETags"
-               return xs
+eTagList ∷ Parser [ETag]
+{-# INLINEABLE eTagList #-}
+eTagList = do xs ← listOf eTag
+              when (null xs) $
+                  fail "empty list of ETags"
+              return xs