X-Git-Url: http://git.cielonegro.org/gitweb.cgi?a=blobdiff_plain;f=Network%2FHTTP%2FLucu%2FHeaders.hs;h=fee6fadec1b595ae189b0b9515b2543cb93b7171;hb=b340a77fa7bd051dd13a41d0a5b1ad30220bc6b6;hp=7936f0435fe575c64e0faf2ba5980cf6b70913d4;hpb=a9e9f50818285bf66cd64e5a248175eecb8e1fea;p=Lucu.git diff --git a/Network/HTTP/Lucu/Headers.hs b/Network/HTTP/Lucu/Headers.hs index 7936f04..fee6fad 100644 --- a/Network/HTTP/Lucu/Headers.hs +++ b/Network/HTTP/Lucu/Headers.hs @@ -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)