@@ -7,6 +7,7 @@ import Data.Monoid (mconcat)
77import Data.Conduit.Lazy (lazyConsume)
88import Network.HTTP.Types (parseQuery)
99import Control.Monad.Trans.Resource (ResourceT)
10+import Data.Conduit.List (sourceList)
1011
1112methodOverridePost :: Middleware
1213methodOverridePost app req = case lookup "Content-Type" (requestHeaders req) of
@@ -16,5 +17,5 @@ methodOverridePost app req = case lookup "Content-Type" (requestHeaders req) of
1617setPost :: Request -> ResourceT IO Request
1718setPost req = do
1819 body <- lazyConsume (requestBody req)
19− case parseQuery (mconcat body) of (("_method", Just newmethod):_) -> return $ req {requestMethod = newmethod}
20− _ -> return req
20+ case parseQuery (mconcat body) of (("_method", Just newmethod):_) -> return $ req {requestBody = sourceList body, requestMethod = newmethod}
21+ _ -> return $ req {requestBody = sourceList body}