parseWWWFormURLEncoded src
| src == "" = []
| otherwise = do pairStr <- splitBy (\ c -> c == ';' || c == '&') src
- let pair = break (== '=') pairStr
- return ( unEscapeString $ fst pair
- , unEscapeString $ snd pair
+ let (key, value) = break (== '=') pairStr
+ return ( unEscapeString key
+ , unEscapeString $ case value of
+ ('=':val) -> val
+ "" -> ""
)