summaryrefslogtreecommitdiff
path: root/runtime/ops/websocket.rs
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/ops/websocket.rs')
-rw-r--r--runtime/ops/websocket.rs9
1 files changed, 6 insertions, 3 deletions
diff --git a/runtime/ops/websocket.rs b/runtime/ops/websocket.rs
index 812844f39..b220655ae 100644
--- a/runtime/ops/websocket.rs
+++ b/runtime/ops/websocket.rs
@@ -216,6 +216,7 @@ pub async fn op_ws_create(
#[serde(rename_all = "camelCase")]
struct SendArgs {
rid: u32,
+ kind: String,
text: Option<String>,
}
@@ -226,9 +227,11 @@ pub async fn op_ws_send(
) -> Result<Value, AnyError> {
let args: SendArgs = serde_json::from_value(args)?;
- let msg = match args.text {
- Some(text) => Message::Text(text),
- None => Message::Binary(bufs[0].to_vec()),
+ let msg = match args.kind.as_str() {
+ "text" => Message::Text(args.text.unwrap()),
+ "binary" => Message::Binary(bufs[0].to_vec()),
+ "pong" => Message::Pong(vec![]),
+ _ => unreachable!(),
};
let rid = args.rid;