{-# LANGUAGE OverloadedStrings #-} module Network.Wai.Middleware.MethodOverride ( methodOverride ) where import Network.Wai import Network.Wai.Parse (parseQueryString) methodOverride :: Middleware methodOverride app req = app req' where req' = case lookup "_method" $ parseQueryString $ queryString req of Nothing -> req Just m -> req { requestMethod = m }