]> gitweb @ CieloNegro.org - Lucu.git/blobdiff - Network/HTTP/Lucu/Headers.hs
Destroy Data.Attoparsec.Parsable; use Data.Default instead
[Lucu.git] / Network / HTTP / Lucu / Headers.hs
index e6641154adc1d390b1c7cd35bb4d5d5a4c71342d..5391743d1163833a1b47b8f10e14ef4edf91e369 100644 (file)
@@ -20,12 +20,11 @@ import Control.Monad
 import Data.Ascii (Ascii, AsciiBuilder, CIAscii)
 import qualified Data.Ascii as A
 import Data.Attoparsec.Char8
-import Data.Attoparsec.Parsable
-import Data.ByteString (ByteString)
 import qualified Data.Collections.Newtype.TH as C
 import Data.Convertible.Base
 import Data.Convertible.Instances.Ascii ()
 import Data.Convertible.Utils
+import Data.Default
 import Data.List (intersperse)
 import qualified Data.Map as M (Map)
 import Data.Collections
@@ -139,11 +138,11 @@ deriveAttempts [ ([t| Headers |], [t| Ascii        |])
   field-value の先頭および末尾にある LWS は全て削除され、それ以外の
   LWS は單一の SP に變換される。
 -}
-instance Parsable ByteString Headers where
-    {-# INLINEABLE parser #-}
-    parser = do xs ← many header
-                crlf
-                return $ fromFoldable xs
+instance Default (Parser Headers) where
+    {-# INLINEABLE def #-}
+    def = do xs ← many header
+             crlf
+             return $ fromFoldable xs
         where
           header ∷ Parser (CIAscii, Ascii)
           {-# INLINEABLE header #-}