wasm: avoid dependency on serde-serialize feature (#1337)
Using this feature makes dependency cycles much more likely.
This commit is contained in:
@@ -149,7 +149,8 @@ winreg = "0.7"
|
|||||||
|
|
||||||
[target.'cfg(target_arch = "wasm32")'.dependencies]
|
[target.'cfg(target_arch = "wasm32")'.dependencies]
|
||||||
js-sys = "0.3.45"
|
js-sys = "0.3.45"
|
||||||
wasm-bindgen = { version = "0.2.68", features = ["serde-serialize"] }
|
serde_json = "1.0"
|
||||||
|
wasm-bindgen = "0.2.68"
|
||||||
wasm-bindgen-futures = "0.4.18"
|
wasm-bindgen-futures = "0.4.18"
|
||||||
|
|
||||||
[target.'cfg(target_arch = "wasm32")'.dependencies.web-sys]
|
[target.'cfg(target_arch = "wasm32")'.dependencies.web-sys]
|
||||||
@@ -169,6 +170,7 @@ features = [
|
|||||||
]
|
]
|
||||||
|
|
||||||
[target.'cfg(target_arch = "wasm32")'.dev-dependencies]
|
[target.'cfg(target_arch = "wasm32")'.dev-dependencies]
|
||||||
|
wasm-bindgen = { version = "0.2.68", features = ["serde-serialize"] }
|
||||||
wasm-bindgen-test = "0.3"
|
wasm-bindgen-test = "0.3"
|
||||||
|
|
||||||
[[example]]
|
[[example]]
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
use http::{HeaderMap, Method};
|
use http::{HeaderMap, Method};
|
||||||
use js_sys::Promise;
|
use js_sys::{Promise, JSON};
|
||||||
use std::{fmt, future::Future, sync::Arc};
|
use std::{fmt, future::Future, sync::Arc};
|
||||||
use url::Url;
|
use url::Url;
|
||||||
use wasm_bindgen::prelude::{wasm_bindgen, UnwrapThrowExt as _};
|
use wasm_bindgen::prelude::{wasm_bindgen, UnwrapThrowExt as _};
|
||||||
@@ -238,11 +238,12 @@ async fn fetch(req: Request) -> crate::Result<Response> {
|
|||||||
|
|
||||||
for item in js_iter {
|
for item in js_iter {
|
||||||
let item = item.expect_throw("headers iterator doesn't throw");
|
let item = item.expect_throw("headers iterator doesn't throw");
|
||||||
let v: Vec<String> = item.into_serde().expect_throw("headers into_serde");
|
let serialized_headers: String = JSON::stringify(&item)
|
||||||
resp = resp.header(
|
.expect_throw("serialized headers")
|
||||||
v.get(0).expect_throw("headers name"),
|
.into();
|
||||||
v.get(1).expect_throw("headers value"),
|
let [name, value]: [String; 2] = serde_json::from_str(&serialized_headers)
|
||||||
);
|
.expect_throw("deserializable serialized headers");
|
||||||
|
resp = resp.header(name, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
resp.body(js_resp)
|
resp.body(js_resp)
|
||||||
|
|||||||
Reference in New Issue
Block a user