diff --git a/engine-io-yesod.cabal b/engine-io-yesod.cabal
--- a/engine-io-yesod.cabal
+++ b/engine-io-yesod.cabal
@@ -1,5 +1,5 @@
 name: engine-io-yesod
-version: 1.0.0
+version: 1.0.1
 license: BSD3
 license-file: LICENSE
 author: Tim Baumann
@@ -19,15 +19,15 @@
   build-depends:
     base >=4.6 && <4.8,
     yesod-core >= 1.2.16.1 && < 1.3,
-    engine-io >= 1.1.0 && < 1.2,
+    engine-io >= 1.2 && < 1.3,
     http-types >= 0.8 && < 0.9,
     unordered-containers >= 0.2 && < 0.3,
     wai >= 3.0 && < 3.1,
-    text >= 1.1 && < 1.2,
+    text >= 1.1 && < 1.3,
     bytestring >= 0.9 && <0.11,
-    conduit >= 1.1 && < 1.2,
+    conduit >= 1.1 && < 1.3,
     conduit-extra >= 1.1 && < 1.2,
-    websockets >= 0.8.2.6 && < 0.9,
+    websockets >= 0.8 && < 0.10,
     wai-websockets >= 3 && < 3.1
 
   hs-source-dirs: src
diff --git a/src/Network/EngineIO/Yesod.hs b/src/Network/EngineIO/Yesod.hs
--- a/src/Network/EngineIO/Yesod.hs
+++ b/src/Network/EngineIO/Yesod.hs
@@ -34,11 +34,9 @@
   , EIO.srvGetQueryParams = HashMap.fromListWith (++) . map (second maybeToList)
                               . WAI.queryString <$> YC.waiRequest
 
-  , EIO.srvParseRequestBody = \p -> do
-      val <- YC.rawRequestBody $$ runCatchC (sinkParser p)
-      case val of
-        Left e  -> YC.invalidArgs ["could not parse request body: " `mappend` pack (show e)]
-        Right v -> return v
+  , EIO.srvParseRequestBody = \p ->
+      fmap (either (Left . show) Right) $
+        YC.rawRequestBody $$ runCatchC (sinkParser p)
 
   , EIO.srvGetRequestMethod = WAI.requestMethod <$> YC.waiRequest
 
