diff --git a/src/Trasa/Server.hs b/src/Trasa/Server.hs
--- a/src/Trasa/Server.hs
+++ b/src/Trasa/Server.hs
@@ -5,7 +5,8 @@
 {-# LANGUAGE GeneralizedNewtypeDeriving #-}
 {-# LANGUAGE ScopedTypeVariables #-}
 
-{-# OPTIONS_GHC -Wall -Werror #-}
+{-# OPTIONS_GHC -Wall -Werror -Wwarn=deprecations #-}
+
 module Trasa.Server
   ( TrasaT
   , TrasaEnv(..)
@@ -14,7 +15,6 @@
   , serveWith
   ) where
 
-
 import Control.Applicative (liftA2, Alternative(..))
 import Control.Monad (join, MonadPlus(..))
 import Control.Monad.Except (ExceptT,runExceptT,mapExceptT,MonadError(..),MonadIO(..))
@@ -33,7 +33,6 @@
 import qualified Network.HTTP.Media.RenderHeader as N
 import qualified Network.HTTP.Types.Status as N
 import qualified Network.Wai as Wai
-import qualified Network.Wai.Parse as Wai
 
 import Trasa.Core
 
@@ -42,8 +41,6 @@
 data TrasaEnv = TrasaEnv
   { trasaHeaders :: Headers
   , trasaQueryString :: QueryString
-  , trasaRequestBody :: BS.ByteString
-  , trasaRequestBodyType :: Maybe Wai.RequestBodyType
   }
 
 newtype TrasaT m a = TrasaT
@@ -77,10 +74,8 @@
   :: TrasaT m a
   -> M.Map (CI BS.ByteString) T.Text -- ^ Headers
   -> QueryString -- ^ Query string parameters
-  -> BS.ByteString -- ^ Request body
-  -> Maybe Wai.RequestBodyType -- ^ Request body type from @wai-extra@
   -> m (Either TrasaErr a, M.Map (CI BS.ByteString) T.Text)
-runTrasaT trasa headers queryStrings requestBody mrequestBodyType = (flip runReaderT (TrasaEnv headers queryStrings requestBody mrequestBodyType) . flip runStateT M.empty . runExceptT  . unTrasaT) trasa
+runTrasaT trasa headers queryStrings = (flip runReaderT (TrasaEnv headers queryStrings) . flip runStateT M.empty . runExceptT  . unTrasaT) trasa
 
 mapTrasaT :: (forall x. m x -> n x) -> TrasaT m a -> TrasaT n a
 mapTrasaT eta = TrasaT . mapExceptT (mapStateT (mapReaderT eta)) . unTrasaT
@@ -107,12 +102,10 @@
           Just accepts -> do
             content <- for (M.lookup hContentType headers >>= N.parseAccept . TE.encodeUtf8) $ \typ ->
               Content typ <$> Wai.strictRequestBody req
-            requestBody <- Wai.getRequestBodyChunk req
             let queryStrings = decodeQuery (Wai.queryString req)
                 url = Url (Wai.pathInfo req) queryStrings
                 dispatch = dispatchWith toMeta makeResponse madeRouter method accepts url content
-                mrequestBodyType = Wai.getRequestBodyType req
-            runTrasaT dispatch headers queryStrings requestBody mrequestBodyType >>= \case
+            runTrasaT dispatch headers queryStrings >>= \case
               (resErr,newHeaders) -> case join resErr of
                 Left (TrasaErr stat errBody) ->
                   respond (Wai.responseLBS stat (encodeHeaders newHeaders) errBody)
diff --git a/trasa-server.cabal b/trasa-server.cabal
--- a/trasa-server.cabal
+++ b/trasa-server.cabal
@@ -2,7 +2,7 @@
 name:
   trasa-server
 version:
-  0.5.1
+  0.5.2
 synopsis:
   Type safe web server
 description:
