File tree 4 files changed +19
-10
lines changed
4 files changed +19
-10
lines changed Original file line number Diff line number Diff line change @@ -20,8 +20,8 @@ main = server 4000 $ do
20
20
21
21
on " ping" $ emit " pong" []
22
22
23
- -- reply :: CallbackM [Text]
24
- on " echo" $ reply >>= emit " pong"
23
+ -- msg :: CallbackM [Text]
24
+ on " echo" $ msg >>= emit " pong"
25
25
26
26
-- do some IO
27
27
on " Kim Jong-Un" $ liftIO launchMissile
Original file line number Diff line number Diff line change @@ -22,8 +22,8 @@ description:
22
22
    \-\- ping pong
23
23
    on "ping" $ emit "pong" []
24
24
.
25
-     \-\- reply : : CallbackM [Text]
26
-     on "echo" $ reply >>= emit "pong"
25
+     \-\- msg : : CallbackM [Text]
26
+     on "echo" $ msg >>= emit "pong"
27
27
.
28
28
    \-\- do some IO
29
29
    on "Kim Jong-Un" $ liftIO launchMissile
Original file line number Diff line number Diff line change @@ -39,7 +39,8 @@ module Web.SocketIO
39
39
-- * Sending and receiving events
40
40
, Subscriber (.. )
41
41
, Publisher (.. )
42
- , reply
42
+ , msg
43
+ , msg'
43
44
, getEventName
44
45
, HasSessionID (.. )
45
46
, EventName
Original file line number Diff line number Diff line change @@ -8,23 +8,31 @@ module Web.SocketIO.Event where
8
8
import Web.SocketIO.Types
9
9
10
10
--------------------------------------------------------------------------------
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
13
14
14
15
--------------------------------------------------------------------------------
15
16
-- | Extracts payload carried by the event
16
17
--
17
18
-- @
18
19
-- `on` \"echo\" $ do
19
- -- payload <- reply
20
+ -- payload <- msg
20
21
-- liftIO $ print payload
21
22
-- emit "echo" payload
22
23
-- @
23
- reply :: CallbackM [Text ]
24
- reply = do
24
+ msg :: CallbackM [Text ]
25
+ msg = do
25
26
Payload p <- callbackEnvPayload <$> ask
26
27
return p
27
28
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
+
28
36
--------------------------------------------------------------------------------
29
37
-- | Name of the event
30
38
getEventName :: CallbackM EventName
You can’t perform that action at this time.
0 commit comments