Skip to content

Commit d51e65c

Browse files
committed
rename reply :: CallbackM [Text] to "msg", and add a lazy bytestring version of it
1 parent 9fc934b commit d51e65c

File tree

4 files changed

+19
-10
lines changed

4 files changed

+19
-10
lines changed

README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ main = server 4000 $ do
2020

2121
on "ping" $ emit "pong" []
2222

23-
-- reply :: CallbackM [Text]
24-
on "echo" $ reply >>= emit "pong"
23+
-- msg :: CallbackM [Text]
24+
on "echo" $ msg >>= emit "pong"
2525

2626
-- do some IO
2727
on "Kim Jong-Un" $ liftIO launchMissile

SocketIO.cabal

+2-2
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ description:
2222
    \-\- ping pong
2323
    on "ping" $ emit "pong" []
2424
.
25-
    \-\- reply :: CallbackM [Text]
26-
    on "echo" $ reply >>= emit "pong"
25+
    \-\- msg :: CallbackM [Text]
26+
    on "echo" $ msg >>= emit "pong"
2727
.
2828
    \-\- do some IO
2929
    on "Kim Jong-Un" $ liftIO launchMissile

Web/SocketIO.hs

+2-1
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,8 @@ module Web.SocketIO
3939
-- * Sending and receiving events
4040
, Subscriber(..)
4141
, Publisher(..)
42-
, reply
42+
, msg
43+
, msg'
4344
, getEventName
4445
, HasSessionID(..)
4546
, EventName

Web/SocketIO/Event.hs

+13-5
Original file line numberDiff line numberDiff line change
@@ -8,23 +8,31 @@ module Web.SocketIO.Event where
88
import Web.SocketIO.Types
99

1010
--------------------------------------------------------------------------------
11-
import Control.Applicative ((<$>))
12-
import Control.Monad.Reader
11+
import Control.Applicative ((<$>))
12+
import Control.Monad.Reader
13+
import qualified Data.ByteString.Lazy as BL
1314

1415
--------------------------------------------------------------------------------
1516
-- | Extracts payload carried by the event
1617
--
1718
-- @
1819
-- `on` \"echo\" $ do
19-
-- payload <- reply
20+
-- payload <- msg
2021
-- liftIO $ print payload
2122
-- emit "echo" payload
2223
-- @
23-
reply :: CallbackM [Text]
24-
reply = do
24+
msg :: CallbackM [Text]
25+
msg = do
2526
Payload p <- callbackEnvPayload <$> ask
2627
return p
2728

29+
--------------------------------------------------------------------------------
30+
-- | Lazy ByteString version of `msg`, convenient for Aeson decoding.
31+
msg' :: CallbackM [BL.ByteString]
32+
msg' = do
33+
Payload p <- callbackEnvPayload <$> ask
34+
return (map serialize p)
35+
2836
--------------------------------------------------------------------------------
2937
-- | Name of the event
3038
getEventName :: CallbackM EventName

0 commit comments

Comments
 (0)