diff --git a/Network/Wai.hs b/Network/Wai.hs
--- a/Network/Wai.hs
+++ b/Network/Wai.hs
@@ -45,6 +45,7 @@
     , Middleware
     , FilePart (..)
     , RequestBodyLength (..)
+    , lazyRequestBody
       -- * Response body smart constructors
     , responseLBS
     , responseStatus
@@ -55,6 +56,7 @@
 import Data.Typeable (Typeable)
 import qualified Data.Conduit as C
 import qualified Data.Conduit.List as CL
+import Data.Conduit.Lazy (lazyConsume)
 import qualified Data.Conduit.Binary as CB
 import Blaze.ByteString.Builder (Builder, fromLazyByteString)
 import Network.Socket (SockAddr)
@@ -197,3 +199,10 @@
 --
 -- Since 1.4.0
 data RequestBodyLength = ChunkedBody | KnownLength Word64
+
+-- | Get the request body as a lazy ByteString. This uses lazy I\/O under the
+-- surface, and therefore all typical warnings regarding lazy I/O apply.
+--
+-- Since 1.4.1
+lazyRequestBody :: Request -> C.ResourceT IO L.ByteString
+lazyRequestBody = fmap L.fromChunks . lazyConsume . requestBody
diff --git a/wai.cabal b/wai.cabal
--- a/wai.cabal
+++ b/wai.cabal
@@ -1,5 +1,5 @@
 Name:                wai
-Version:             1.4.0.2
+Version:             1.4.1
 Synopsis:            Web Application Interface.
 Description:         Provides a common protocol for communication between web applications and web servers.
 License:             MIT
