]> gitweb @ CieloNegro.org - Lucu.git/blobdiff - Network/HTTP/Lucu/MultipartForm.hs
Fix for insane memory usage
[Lucu.git] / Network / HTTP / Lucu / MultipartForm.hs
index 4a34ba549764e722ea613de97ff5ff80bd116d79..e73b74d19b814f3830106828170b883d617bee23 100644 (file)
@@ -16,7 +16,7 @@ import           Network.HTTP.Lucu.Response
 import           Network.HTTP.Lucu.Utils
 
 
-data Part = Part Headers String
+data Part = Part Headers L8.ByteString
 
 -- |This data type represents a form entry name, form value and
 -- possibly an uploaded file name.
@@ -24,7 +24,7 @@ data FormData
     = FormData {
         fdName     :: String
       , fdFileName :: Maybe String
-      , fdContent  :: String
+      , fdContent  :: L8.ByteString
       }
 
 instance HasHeaders Part where
@@ -71,9 +71,9 @@ partP boundary
          return $ Part hs body
 
 
-bodyP :: String -> Parser String
+bodyP :: String -> Parser L8.ByteString
 bodyP boundary
-    = do body <- many $
+    = do body <- manyChar $
                  do notFollowedBy $ do crlf
                                        string "--"
                                        string boundary