@@ -30,8 +30,11 @@ newWebSocket _ url onMessage onOpen onClose = do
3030 _ <- on ws message $ do
3131 e <- ask
3232 d <- getData e
33− ab <- liftIO $ unsafeFreeze $ pFromJSVal d
34− liftIO $ onMessage $ toByteString 0 Nothing $ createFromArrayBuffer ab
33+ liftIO $ case jsTypeOf d of
34+ String -> onMessage $ encodeUtf8 $ pFromJSVal d
35+ _ -> do
36+ ab <- unsafeFreeze $ pFromJSVal d
37+ onMessage $ toByteString 0 Nothing $ createFromArrayBuffer ab
3538 _ <- on ws closeEvent $ liftIO onClose
3639 return $ JSWebSocket ws
3740