diff --git a/hspec-wai.cabal b/hspec-wai.cabal
--- a/hspec-wai.cabal
+++ b/hspec-wai.cabal
@@ -1,13 +1,13 @@
 cabal-version: 1.12
 
--- This file has been generated from package.yaml by hpack version 0.31.2.
+-- This file has been generated from package.yaml by hpack version 0.34.2.
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: cdec1913966ee86da27fb743e19bf06bc5822fe4611e017391f8d476ef5a6cc5
+-- hash: 95ac20c61059693bdcf5f029efee11023def65f62809fe31970937f20f996855
 
 name:             hspec-wai
-version:          0.10.1
+version:          0.11.0
 homepage:         https://github.com/hspec/hspec-wai#readme
 bug-reports:      https://github.com/hspec/hspec-wai/issues
 license:          MIT
@@ -35,7 +35,7 @@
   ghc-options: -Wall
   build-depends:
       QuickCheck
-    , base ==4.*
+    , base >=4.9.1.0 && <5
     , base-compat
     , bytestring >=0.10
     , case-insensitive
@@ -65,7 +65,7 @@
   ghc-options: -Wall
   build-depends:
       QuickCheck
-    , base ==4.*
+    , base >=4.9.1.0 && <5
     , base-compat
     , bytestring >=0.10
     , case-insensitive
@@ -75,7 +75,7 @@
     , http-types
     , text
     , transformers
-    , wai >=3
+    , wai >=3.2.2
     , wai-extra >=3
   other-modules:
       Test.Hspec.Wai
diff --git a/src/Test/Hspec/Wai.hs b/src/Test/Hspec/Wai.hs
--- a/src/Test/Hspec/Wai.hs
+++ b/src/Test/Hspec/Wai.hs
@@ -45,6 +45,7 @@
 import           Data.ByteString (ByteString)
 import qualified Data.ByteString.Lazy as LB
 import           Control.Monad.IO.Class
+import           Control.Monad.Trans.Class (lift)
 import           Network.Wai (Request(..))
 import           Network.HTTP.Types
 import           Network.Wai.Test hiding (request)
@@ -141,7 +142,7 @@
 -- | Perform a request to the application under test, with specified HTTP
 -- method, request path, headers and body.
 request :: Method -> ByteString -> [Header] -> LB.ByteString -> WaiSession st SResponse
-request method path headers body = getApp >>= liftIO . runSession (Wai.srequest $ SRequest req body)
+request method path headers = WaiSession . lift . Wai.srequest . SRequest req
   where
     req = setPath defaultRequest {requestMethod = method, requestHeaders = headers} path
 
diff --git a/src/Test/Hspec/Wai/Internal.hs b/src/Test/Hspec/Wai/Internal.hs
--- a/src/Test/Hspec/Wai/Internal.hs
+++ b/src/Test/Hspec/Wai/Internal.hs
@@ -14,9 +14,6 @@
 , formatHeader
 ) where
 
-import           Prelude ()
-import           Prelude.Compat
-
 import           Control.Monad.IO.Class
 import           Control.Monad.Trans.Class
 import           Control.Monad.Trans.Reader
diff --git a/test/Test/Hspec/WaiSpec.hs b/test/Test/Hspec/WaiSpec.hs
--- a/test/Test/Hspec/WaiSpec.hs
+++ b/test/Test/Hspec/WaiSpec.hs
@@ -23,7 +23,7 @@
   requestMethod req `shouldBe` method
   rawPathInfo req `shouldBe` path
   requestHeaders req `shouldBe` headers
-  rawBody <- requestBody req
+  rawBody <- getRequestBodyChunk req
   rawBody `shouldBe` body
   respond $ responseLBS status200 [] ""
 
