wuss 1.1.0 → 1.1.1
raw patch · 3 files changed
+19/−8 lines, 3 files
Files
- Wuss.hs +17/−6
- package.yaml +1/−1
- wuss.cabal +1/−1
Wuss.hs view
@@ -47,6 +47,7 @@ ) where import qualified Control.Applicative as Applicative+import qualified Control.Exception as Exception import qualified Data.Bool as Bool import qualified Data.ByteString as StrictBytes import qualified Data.ByteString.Lazy as LazyBytes@@ -57,6 +58,7 @@ import qualified Network.WebSockets as WebSockets import qualified Network.WebSockets.Stream as Stream import qualified System.IO as IO+import qualified System.IO.Error as IO.Error {- |@@ -158,9 +160,13 @@ -> IO.IO a runSecureClientWithConfig host port path config options headers app = do context <- Connection.initConnectionContext- connection <- Connection.connectTo context (connectionParams host port)- stream <- Stream.makeStream (reader config connection) (writer connection)- WebSockets.runClientWithStream stream host path options headers app+ Exception.bracket+ (Connection.connectTo context (connectionParams host port))+ Connection.connectionClose+ (\connection -> do+ stream <-+ Stream.makeStream (reader config connection) (writer connection)+ WebSockets.runClientWithStream stream host path options headers app) connectionParams@@ -190,9 +196,14 @@ :: Config -> Connection.Connection -> IO.IO (Maybe.Maybe StrictBytes.ByteString)-reader config connection = do- chunk <- (connectionGet config) connection- Applicative.pure (Maybe.Just chunk)+reader config connection =+ IO.Error.catchIOError (do+ chunk <- (connectionGet config) connection+ Applicative.pure (Maybe.Just chunk))+ (\e ->+ if IO.Error.isEOFError e+ then Applicative.pure Maybe.Nothing+ else Exception.throwIO e) writer
package.yaml view
@@ -25,4 +25,4 @@ maintainer: Taylor Fausak name: wuss synopsis: Secure WebSocket (WSS) clients-version: '1.1.0'+version: '1.1.1'
wuss.cabal view
@@ -3,7 +3,7 @@ -- see: https://github.com/sol/hpack name: wuss-version: 1.1.0+version: 1.1.1 synopsis: Secure WebSocket (WSS) clients description: Wuss is a library that lets you easily create secure WebSocket clients over the WSS protocol. It is a small addition to <https://hackage.haskell.org/package/websockets the websockets package> and is adapted from existing solutions by <https://gist.github.com/jaspervdj/7198388 @jaspervdj>, <https://gist.github.com/mpickering/f1b7ba3190a4bb5884f3 @mpickering>, and <https://gist.github.com/elfenlaid/7b5c28065e67e4cf0767 @elfenlaid>. category: Network