on master help sign in
Adding documentation
commit341f94551a63f5a30e5c2cb30531e9c3f01418e1 authorLyndon Maydwell <maydwell@gmail.com> dateThu 19 Apr 2012, 17:03 (14 years ago) parent6e0a49d
1 file changed+15−2
wai-extra/Network/Wai/Middleware/MethodOverridePost.hs+15−2
wai-extra/Network/Wai/Middleware/MethodOverridePost.hs+15−2
@@ -1,14 +1,27 @@
11{-# LANGUAGE OverloadedStrings #-}
22
3−module Network.Wai.Middleware.MethodOverridePost ( methodOverridePost) where
3+-----------------------------------------------------------------
4+-- |
5+-- Module : Network.Wai.Middleware.MethodOverridePost
6+--
7+-- Changing of request-method via first post-parameter "_method".
8+--
9+-----------------------------------------------------------------
10+module Network.Wai.Middleware.MethodOverridePost
11+ ( methodOverridePost
12+ ) where
413
514import Network.Wai
15+import Network.HTTP.Types (parseQuery)
616import Data.Monoid (mconcat)
717import Data.Conduit.Lazy (lazyConsume)
8−import Network.HTTP.Types (parseQuery)
918import Control.Monad.Trans.Resource (ResourceT)
1019import Data.Conduit.List (sourceList)
1120
21+-- | Override the request-method by setting the first POST key/value
22+-- to "_method" / <request-method>.
23+--
24+-- * Only accepts "application/x-www-form-urlencoded" POSTs.
1225methodOverridePost :: Middleware
1326methodOverridePost app req = case lookup "Content-Type" (requestHeaders req) of
1427 Just "application/x-www-form-urlencoded" -> setPost req >>= app