diff --git a/hack2-handler-snap-server.cabal b/hack2-handler-snap-server.cabal
--- a/hack2-handler-snap-server.cabal
+++ b/hack2-handler-snap-server.cabal
@@ -1,5 +1,5 @@
 Name:                 hack2-handler-snap-server
-Version:              2014.11.17
+Version:              2015.3.9
 Build-type:           Simple
 Synopsis:             Hack2 Snap server handler
 Description:          Hack2 Snap server handler
@@ -15,12 +15,12 @@
 
 library
 
-  build-depends: 
+  build-depends:
                       base >= 4.0 && < 100
                     , network
                     , bytestring
                     , data-default >= 0.2
-                    , hack2 >= 2012.1.19
+                    , hack2 >= 2014.11.17
                     , containers
                     , mtl
                     , enumerator
@@ -30,8 +30,7 @@
                     , snap-core
                     , snap-server > 0.6
                     , directory
-                    
+
   hs-source-dirs: src/
-  exposed-modules:  
+  exposed-modules:
                     Hack2.Handler.SnapServer
-                    
diff --git a/src/Hack2/Handler/SnapServer.hs b/src/Hack2/Handler/SnapServer.hs
--- a/src/Hack2/Handler/SnapServer.hs
+++ b/src/Hack2/Handler/SnapServer.hs
@@ -58,12 +58,8 @@
 toEnumerator :: Monad m => Lazy.ByteString -> Enumerator Strict.ByteString m a
 toEnumerator = enumList 1 < Lazy.toChunks
 
-requestToEnv :: Snap.Request -> IO Env
-requestToEnv request = do
-  (Snap.SomeEnumerator some_enumerator) <- readIORef - request.SnapInternal.rqBody
-  
-  _requestBody <- fromEnumerator some_enumerator
-  
+requestToEnv :: Snap.Request -> Lazy.ByteString -> IO Env
+requestToEnv request body = do
   return - def
   
     {
@@ -75,7 +71,7 @@
     , serverPort     = request.Snap.rqServerPort
     , httpHeaders    = request.SnapInternal.rqHeaders.Snap.Headers.toList.map caseInsensitiveHeaderToHeader
     , hackUrlScheme  = if request.Snap.rqIsSecure then HTTPS else HTTP
-    , hackInput      = _requestBody.l2s
+    , hackInput      = body.l2s
     , hackHeaders    = 
       [
         ("RemoteHost", request.Snap.rqRemoteAddr)
@@ -121,7 +117,9 @@
 hackAppToSnap app = do
   request <- Snap.getRequest
   
-  env <- io - requestToEnv request
+  body <- Snap.getRequestBody
+
+  env <- io - requestToEnv request body
   
   response <- io - app env
    
