X-Git-Url: http://git.cielonegro.org/gitweb.cgi?p=Lucu.git;a=blobdiff_plain;f=Network%2FHTTP%2FLucu%2FMultipartForm.hs;h=c9684b18892e3e2259e1818a13385f91cfa98b8c;hp=e73b74d19b814f3830106828170b883d617bee23;hb=9ac730212cb361eb10e5fe4ad0eec6758e2b200a;hpb=105aec5e11818a08bdc964cf93856e0ff95768ac diff --git a/Network/HTTP/Lucu/MultipartForm.hs b/Network/HTTP/Lucu/MultipartForm.hs index e73b74d..c9684b1 100644 --- a/Network/HTTP/Lucu/MultipartForm.hs +++ b/Network/HTTP/Lucu/MultipartForm.hs @@ -53,19 +53,19 @@ instance Show ContDispo where multipartFormP :: String -> Parser [FormData] multipartFormP boundary = do parts <- many (partP boundary) - string "--" - string boundary - string "--" - crlf + _ <- string "--" + _ <- string boundary + _ <- string "--" + _ <- crlf eof return $ map partToFormData parts partP :: String -> Parser Part partP boundary - = do string "--" - string boundary - crlf -- バウンダリの末尾に -- が付いてゐたらここで fail する。 + = do _ <- string "--" + _ <- string boundary + _ <- crlf -- バウンダリの末尾に -- が付いてゐたらここで fail する。 hs <- headersP body <- bodyP boundary return $ Part hs body @@ -74,11 +74,11 @@ partP boundary bodyP :: String -> Parser L8.ByteString bodyP boundary = do body <- manyChar $ - do notFollowedBy $ do crlf - string "--" - string boundary + do notFollowedBy $ ( crlf >> + string "--" >> + string boundary ) anyChar - crlf + _ <- crlf return body @@ -146,10 +146,10 @@ contDispoP = do dispoType <- token return $ ContDispo dispoType params where paramP :: Parser (String, String) - paramP = do many lws - char ';' - many lws - name <- token - char '=' + paramP = do _ <- many lws + _ <- char ';' + _ <- many lws + name <- token + _ <- char '=' value <- token <|> quotedStr return (name, value)