X-Git-Url: http://git.cielonegro.org/gitweb.cgi?a=blobdiff_plain;f=Network%2FHTTP%2FLucu%2FHeaders.hs;h=400e49b1291d284bd43a0def5f9aff5f2e5955a1;hb=b923d454928e3d01134b15d6072b6d3edf7a15ca;hp=424145586253bd0544f8070d540cad9c83e502ff;hpb=02d702c138d918386135245021d5778676ee6d0e;p=Lucu.git diff --git a/Network/HTTP/Lucu/Headers.hs b/Network/HTTP/Lucu/Headers.hs index 4241455..400e49b 100644 --- a/Network/HTTP/Lucu/Headers.hs +++ b/Network/HTTP/Lucu/Headers.hs @@ -101,17 +101,16 @@ fromHeaders (Headers m) = M.toList m -} headersP ∷ Parser Headers {-# INLINEABLE headersP #-} -headersP = do xs ← P.many header +headersP = do xs ← P.many $ try header crlf return $ toHeaders xs where header ∷ Parser (CIAscii, Ascii) - header = try $ - do name ← A.toCIAscii <$> token + header = do name ← A.toCIAscii <$> token _ ← char ':' skipMany lws - values ← sepBy content lws - skipMany lws + values ← sepBy content (try lws) + skipMany (try lws) crlf return (name, joinValues values)