summaryrefslogtreecommitdiffstats
path: root/src/client/responder.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/responder.rs')
-rw-r--r--src/client/responder.rs4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/client/responder.rs b/src/client/responder.rs
index f501102..0e5fb79 100644
--- a/src/client/responder.rs
+++ b/src/client/responder.rs
@@ -137,10 +137,12 @@ impl<H: Handler> OneshotResponder<H> {
}
}
- fn handle_response(&mut self, resp: JsonValue) {
+ fn handle_response(&mut self, mut resp: JsonValue) {
if let Some(id) = resp["@extra"].as_u64() {
if let Some(fut) = self.wakers_map.remove(&id) {
let mut fut_data = fut.lock().unwrap();
+ resp.as_object_mut()
+ .map(|inner_map| inner_map.remove("@extra"));
fut_data.resp = Some(Ok(resp));
fut_data.waker.as_ref().map(Waker::wake_by_ref);
} else {