diff --git a/Network/Wai/Handler/Warp/Request.hs b/Network/Wai/Handler/Warp/Request.hs
--- a/Network/Wai/Handler/Warp/Request.hs
+++ b/Network/Wai/Handler/Warp/Request.hs
@@ -1,5 +1,6 @@
 {-# LANGUAGE BangPatterns #-}
 {-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE CPP #-}
 
 module Network.Wai.Handler.Warp.Request where
 
@@ -98,6 +99,12 @@
             , remoteHost = remoteHost'
             , requestBody = rbody
             , vault = mempty
+#if MIN_VERSION_wai(1, 4, 0)
+            , requestBodyLength =
+                if chunked
+                    then ChunkedBody
+                    else KnownLength $ fromIntegral len0
+#endif
             }, getSource)
 
 {-# INLINE takeUntil #-}
diff --git a/warp.cabal b/warp.cabal
--- a/warp.cabal
+++ b/warp.cabal
@@ -1,5 +1,5 @@
 Name:                warp
-Version:             1.3.7.3
+Version:             1.3.7.4
 Synopsis:            A fast, light-weight web server for WAI applications.
 License:             MIT
 License-file:        LICENSE
@@ -35,7 +35,7 @@
                    , transformers              >= 0.2.2    && < 0.4
                    , unix-compat               >= 0.2
                    , void
-                   , wai                       >= 1.3      && < 1.4
+                   , wai                       >= 1.3      && < 1.5
   if flag(network-bytestring)
       Build-Depends: network                   >= 2.2.1.5  && < 2.2.3
                    , network-bytestring        >= 0.1.3    && < 0.1.4
@@ -83,7 +83,7 @@
                    , transformers              >= 0.2.2    && < 0.4
                    , unix-compat               >= 0.2
                    , void
-                   , wai                       >= 1.3      && < 1.4
+                   , wai
                    , network
                    , HUnit
                    , QuickCheck
