packages feed

engine-io-snap 1.0.1 → 1.0.2

raw patch · 3 files changed

+17/−5 lines, 3 filesdep +MonadCatchIO-transformersdep ~engine-iodep ~websocketsdep ~websockets-snapPVP ok

version bump matches the API change (PVP)

Dependencies added: MonadCatchIO-transformers

Dependency ranges changed: engine-io, websockets, websockets-snap

API changes (from Hackage documentation)

Files

Changelog.md view
@@ -1,3 +1,9 @@+## 1.0.2++* Updated for `ServerAPI` in `engine-io-1.2`.++* ParseError is now caught correctly, and no longer results in a response 500 to the client.+ ## 1.0.1  * Updated for the new `ServerAPI` in `engine-io-1.1`.
engine-io-snap.cabal view
@@ -1,5 +1,6 @@ name: engine-io-snap-version: 1.0.1+version: 1.0.2+homepage: http://github.com/ocharles/engine.io license: BSD3 license-file: LICENSE author: Oliver Charles@@ -20,11 +21,12 @@     base >=4.6 && <4.8,     bytestring >= 0.9 && <0.11,     containers >=0.5 && <0.6,-    engine-io >= 1.1 && <1.2,+    engine-io >= 1.2 && <1.3,+    MonadCatchIO-transformers >= 0.2.1 && < 0.4,     snap-core >= 0.9 && <0.10,     unordered-containers >= 0.2 && <0.3,-    websockets >=0.8 && <0.9,-    websockets-snap >= 0.8 && <0.9+    websockets >=0.8 && <0.10,+    websockets-snap >= 0.9 && <0.10    hs-source-dirs: src   default-language: Haskell2010
src/Network/EngineIO/Snap.hs view
@@ -3,6 +3,7 @@  import Control.Applicative +import qualified Control.Monad.CatchIO as MonadCatchIO import qualified Data.Attoparsec.Enumerator as Attoparsec import qualified Data.ByteString.Builder as Builder import qualified Data.HashMap.Strict as HashMap@@ -25,7 +26,10 @@       LMap.foldlWithKey' (\m k v -> HashMap.insert k v m) HashMap.empty         <$> Snap.getQueryParams -  , EIO.srvParseRequestBody = Snap.runRequestBody . Attoparsec.iterParser+  , EIO.srvParseRequestBody =+      fmap (either (\e@Attoparsec.ParseError{} -> Left (show e))+                   Right) .+      MonadCatchIO.try . Snap.runRequestBody . Attoparsec.iterParser    , EIO.srvGetRequestMethod = do       m <- Snap.getsRequest Snap.rqMethod