From d0388c841a3299c28604a35a8f7a0bc9ea160f5f Mon Sep 17 00:00:00 2001 From: onyinyang Date: Thu, 26 Jan 2023 14:16:41 -0500 Subject: [PATCH] Handle request and state more reasonably --- crates/lox-wasm/Cargo.toml | 1 + crates/lox-wasm/src/lib.rs | 18 +++++++++++++----- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/crates/lox-wasm/Cargo.toml b/crates/lox-wasm/Cargo.toml index 1954a57..5af794d 100644 --- a/crates/lox-wasm/Cargo.toml +++ b/crates/lox-wasm/Cargo.toml @@ -13,6 +13,7 @@ crate-type = ["cdylib"] lox = { git = "https://gitlab.torproject.org/onyinyang/lox.git", branch = "master" } wasm-bindgen = "0.2" serde_json = "1.0.87" +serde = "1" serde-wasm-bindgen = "0.4.5" console_error_panic_hook = "0.1.7" diff --git a/crates/lox-wasm/src/lib.rs b/crates/lox-wasm/src/lib.rs index 10eb93d..6d821ff 100644 --- a/crates/lox-wasm/src/lib.rs +++ b/crates/lox-wasm/src/lib.rs @@ -2,11 +2,18 @@ use lox::bridge_table::BridgeLine; use lox::proto::open_invite; use lox::{IssuerPubKey, OPENINV_LENGTH}; use serde_json; +use serde::{Deserialize,Serialize}; //use serde_wasm_bindgen; use std::array::TryFromSliceError; use std::panic; use wasm_bindgen::prelude::*; +#[derive(Debug,Deserialize, Serialize)] +struct ReqState { + request: String, + state: String, +} + #[wasm_bindgen] extern "C" { #[wasm_bindgen(js_namespace = console)] @@ -28,16 +35,17 @@ pub fn open_invite(invite: &[u8]) -> Result { Err(e) => return Err(JsValue::from(e.to_string())), }; let (request, state) = open_invite::request(&token); - let serialized_request = serde_json::to_string(&request).unwrap(); - let serialized_state = serde_json::to_string(&state).unwrap(); + let req_state = ReqState { + request: serde_json::to_string(&request).unwrap(), + state: serde_json::to_string(&state).unwrap(), + }; unsafe { log(&format!( "Formatted open invite request: {}", - serialized_request + serde_json::to_string(&req_state).unwrap() )); } - let open_lox_result = concat_string(serialized_request, serialized_state); - Ok(open_lox_result) + Ok(serde_json::to_string(&req_state).unwrap()) } fn concat_string(request: String, state: String) -> String {