on develop help sign in
Accept both text and binary data from WebSocket messages
84d8a35Ryan Trinkle
src-ghcjs/Reflex/Dom/WebSocket/Foreign.hs+5−2
@@ -30,8 +30,11 @@ newWebSocket _ url onMessage onOpen onClose = do
30 _ <- on ws message $ do
30 _ <- on ws message $ do
31 e <- ask
31 e <- ask
32 d <- getData e
32 d <- getData e
33+ liftIO $ case jsTypeOf d of
34+ String -> onMessage $ encodeUtf8 $ pFromJSVal d
35+ _ -> do
33− ab <- liftIO $ unsafeFreeze $ pFromJSVal d
36+ ab <- unsafeFreeze $ pFromJSVal d
34− liftIO $ onMessage $ toByteString 0 Nothing $ createFromArrayBuffer ab
37+ onMessage $ toByteString 0 Nothing $ createFromArrayBuffer ab
35 _ <- on ws closeEvent $ liftIO onClose
38 _ <- on ws closeEvent $ liftIO onClose
36 return $ JSWebSocket ws
39 return $ JSWebSocket ws
37
40