git.iko.soy/typeable/attoparsec
on master help sign in
Another small HTTP parser tweak
commit425d0715c902d99359776bd87e8db33730a4f9a4 authorBryan O'Sullivan <bos@serpentine.com> dateWed 10 Sep 2014, 09:21 (12 years ago) parente15eab4
1 file changed+7−1
benchmarks/HeadersByteString.hs+7−1
benchmarks/HeadersByteString.hs+7−1
@@ -39,10 +39,16 @@ responseLine = (,,) <$>
3939int :: B.Parser Int
4040int = B.decimal
4141
42−request = (,) <$> (requestLine <* B.endOfLine) <*> many header
42+request = (,) <$> (requestLine <* B.endOfLine) <*> manyheader
4343
4444response = (,) <$> responseLine <*> many header
4545
46+manyheader = do
47+ c <- B.peekChar'
48+ if c == '\r' || c == '\n'
49+ then return []
50+ else (:) <$> header <*> manyheader
51+
4652headers :: IO Benchmark
4753headers = do
4854 req <- B.readFile =<< pathTo "http-request.txt"