]> gitweb @ CieloNegro.org - Lucu.git/blobdiff - Network/HTTP/Lucu/ContentCoding.hs
Many changes...
[Lucu.git] / Network / HTTP / Lucu / ContentCoding.hs
index 7a0918a8fd364dde1862ffcbb919de12550f488b..315d23793fa477b9ce4166411c3e47bbf8b9fa4e 100644 (file)
@@ -19,7 +19,10 @@ import Network.HTTP.Lucu.Parser.Http
 import Prelude.Unicode
 
 data AcceptEncoding
-    = AcceptEncoding !CIAscii !(Maybe Double)
+    = AcceptEncoding {
+        aeEncoding ∷ !CIAscii
+      , aeQValue   ∷ !(Maybe Double)
+      }
       deriving (Eq, Show)
 
 instance Ord AcceptEncoding where
@@ -31,16 +34,16 @@ instance Ord AcceptEncoding where
           q1' = fromMaybe 0 q1
           q2' = fromMaybe 0 q2
 
-acceptEncodingListP ∷ Parser [(CIAscii, Maybe Double)]
+acceptEncodingListP ∷ Parser [AcceptEncoding]
 acceptEncodingListP = listOf accEncP
 
-accEncP ∷ Parser (CIAscii, Maybe Double)
+accEncP ∷ Parser AcceptEncoding
 accEncP = do coding ← toCIAscii <$> token
              qVal   ← option Nothing
                       $ do _ ← string ";q="
                            q ← qvalue
                            return $ Just q
-             return (normalizeCoding coding, qVal)
+             return $ AcceptEncoding (normalizeCoding coding) qVal
 
 normalizeCoding ∷ CIAscii → CIAscii
 normalizeCoding coding