]> gitweb @ CieloNegro.org - Lucu.git/blobdiff - Network/HTTP/Lucu/Headers.hs
Documentation
[Lucu.git] / Network / HTTP / Lucu / Headers.hs
index 7936f0435fe575c64e0faf2ba5980cf6b70913d4..fee6fadec1b595ae189b0b9515b2543cb93b7171 100644 (file)
@@ -1,9 +1,10 @@
+-- #hide
 module Network.HTTP.Lucu.Headers
     ( Headers
     , HasHeaders(..)
-    , emptyHeaders -- Headers
-    , headersP     -- Parser Headers
-    , hPutHeaders  -- Handle -> Headers -> IO ()
+    , emptyHeaders
+    , headersP
+    , hPutHeaders
     )
     where
 
@@ -77,7 +78,12 @@ headersP = do xs <- many header
       normalize :: String -> String
       normalize = trimBody . trim isWhiteSpace
 
-      trimBody = nubBy (\ a b -> a == ' ' && b == ' ')
+      trimBody = foldr (++) []
+                 . map (\ s -> if head s == ' ' then
+                                   " "
+                               else
+                                   s)
+                 . group
                  . map (\ c -> if isWhiteSpace c
                                then ' '
                                else c)