X-Git-Url: http://git.cielonegro.org/gitweb.cgi?p=Lucu.git;a=blobdiff_plain;f=Network%2FHTTP%2FLucu%2FContentCoding.hs;h=315d23793fa477b9ce4166411c3e47bbf8b9fa4e;hp=7a0918a8fd364dde1862ffcbb919de12550f488b;hb=db4b61223e0d8b34079d3b190fb3e3644b0b4866;hpb=054e36027618944ea45f85ae349e51b76a139270 diff --git a/Network/HTTP/Lucu/ContentCoding.hs b/Network/HTTP/Lucu/ContentCoding.hs index 7a0918a..315d237 100644 --- a/Network/HTTP/Lucu/ContentCoding.hs +++ b/Network/HTTP/Lucu/ContentCoding.hs @@ -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